В Drupal это неосуществимо, поскольку с точки зрения системы нет реальных страниц , только функции обратного вызова, принимающие аргументы. Чтобы уточнить, подумайте о стандартном пути для страниц узла:
node/[nid]
Это примет произвольное целое число для [nid], а затем функция обратного вызова для пути node/%
попытается найти узел с совпадающим идентификатором - только после ищет его, что Drupal «знает», существует ли страница на самом деле.
То же самое верно для всех других путей, поэтому в основном вы смотрите на (почти) неограниченное количество потенциальных страниц, без возможности узнать, за исключением тестирования путей, если они действительно ' существует или заканчивается в 404.
То, что вы могли бы сделать, это взглянуть на таблицу menu_router
. Там вы найдете все зарегистрированные пути, а также их функции обратного вызова и access_callback. Для тех, кто может выполнить проверку для каждого пользователя, но результат будет трудно интерпретировать, так как путей много и они будут содержать много заполнителей.
Аналогичная опция существует, если вы используете URL-псевдонимы / pathauto. Затем вы можете взять таблицу url_alias
и проверить все записи в ней. Но так как вы заинтересованы в защите своего сайта, это не очень поможет, так как вы пропустите любой путь, у которого нет псевдонима - и, как сказано выше, их бесчисленное множество.