Я прочитал довольно много сообщений, которые очень похожи на вопрос, который я собираюсь задать, но я просто хотел быть уверенным, что не было более сложного способа сделать это. Любая обратная связь очень ценится.
Я хочу создать механизм для проверки того, имеет ли зарегистрированный пользователь, доступ к PHP скрипт, который в настоящее время называется. Если это так, script будет продолжен; если нет, script просто не работает, используя что-то вроде die('you have no access')
.
Я придумал два способа сделать это:
(пожалуйста, предположите, что мой сеансовый материал закодирован/работает нормально - то есть я вызываю session_start(), правильно настроил сеансовые вары и т.д.)
-
Сначала определите глобальную переменную, затем проверьте глобальную переменную в требуемом файле заголовка. Например:
Содержимое current_executing_script.php:
// the role the logged in user must have to continue on $roleNeedToAccessThisFile = 'r'; require 'checkRole.php''
Содержимое checkRole.php:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
-
Определите функцию в файле заголовка и вызовите функцию сразу после включения/необходимости:
Содержимое checkRole.php:
function checkRole($roleTheUserNeedsToAccessTheFile) { return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile); }
Содержимое current_executing_script.php:
require 'checkRole.php'; checkRole('r') or die('no access for you');
Мне интересно, есть ли способ просто передать параметр checkRole.php как часть конструкции include или require?
Спасибо заранее.