Пишу свой проект, задумался на тему аторизирования Администратора. На сайте не будет никакой регистрации или пользователей. Только один админ. Решил использовать вот такую конструкцию для авторизации админа PHP: <?php $name="lol"; $pass="lol"; if(!isset($PHP_AUTH_USER)) { Header('WWW-Authenticate: Basic realm="Enter in to Admin Panel."'); Header('HTTP/1.0 401 Unauthorized'); exit; } else { if(($PHP_AUTH_USER != $name ) || ($PHP_AUTH_PW != $pass)) { Header('WWW-Authenticate: Basic realm="Enter in to Admin Panel."'); Header('HTTP/1.0 401 Unauthorized'); exit; } } ?> А потом вставлять его инклудом в каждый файл в админке. Хочу услышать мнение, безопасно ли это? Удобно ли? С аргументами пожалуйста.
А не проще будет просто в папку админа кинуть файлик .htaccess с Basic авторизацией. А как ты предлагешь сделать, это надо будет каждый раз водить логин и пароль при переходе с одно файла на другой, проще созадать сессию и сней все делать!
2DIAgen, не надо каждый раз. Мне почему то кажется что он и так сессию создает(хотя наверное дело в чем то другом). А про .htaccess а слышал, читал, я так понял там надо что то кодировать какой то программулиной.... 2Green_Bear, раз безопасно значит оставим. Может еще кто нибудь что нибудь скажет по теме?
сессию он не создает, просто сохраняет логин:пасс видимо и при каждом запросе к странице логинится заново. Я бы сделал один файл амдинки, пусть index.php с авторизацией, а дальше на основе полченных данных подгружал другие модули.
PHP: <?php $name="c4ca4238a0b923820dcc509a6f75849b"; // логин пользователя $pass="c4ca4238a0b923820dcc509a6f75849b"; // пароль пользователя $heshname = $HTTP_SERVER_VARS['PHP_AUTH_USER']; $heshpass = $HTTP_SERVER_VARS['PHP_AUTH_PW']; $heshname = md5($heshname); $heshpass = md5($heshpass); if (!isset($heshname) || $heshname!=$name || $heshpass!=$pass) { header("WWW-Authenticate: Basic realm=\"Auth\""); header("HTTP/1.0 401 Unauthorized"); exit("Access Denied"); } ?> так вроде безопаснее
я бы не сказал. если можно просмотреть файл, то скорее всего можно и его отредактировать. Так что шифровка тут лишне.
2Green_Bear, хе, смотри не перехвали. Всем спасибо, все свободны. Вопрос я решил. Как говорится спАсЫбА что поправили кЕпку.
Все бы было хорошо. Но вот тема у меня не работает на хосте. На локалхосте все как надо а на хосте не канает. Я подозреваю что это из за register_globals Off. Может быть кто нить подскажет как быть?
Ответ нашел в поисковиках. нужно было только заменить $PHP_AUTH_USER на $_SERVER[PHP_AUTH_USER] и так же с паролем.