Доброго времени суток.. Вопрос который меня мучает очень давно, как правильно организовать аторизацию на пхп.. Написал скрипт для аудита сайта и хочу к нему привязать доступ через пароль.Как?
Сделай авторизацию как в шелле rst например: PHP: $name='ec371748dc2da624b35a4f8f685dd122'; // логин пользователя (user login) $pass='ec371748dc2da624b35a4f8f685dd122'; // пароль пользователя (user password) if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) { header('WWW-Authenticate: Basic realm="r57shell"'); header('HTTP/1.0 401 Unauthorized'); exit("<b>Access Denied</b>"); }
А по другому можно с использованием формы авторизации... Вот скрипт титульник для ввода пароля и логина... PHP: <html> <head> <title>Авторизация</title> <style> body { padding-left:350px; font-family:tahoma, verdana, arial; font-size:11px; text-align:center; color:#000000; } table { border:1px solid #D1D1E1; margin:50px; padding:10px; } tr { text-align:center; } input { text-align:center; pargin:2px 0; padding-right:10px; padding-left:20px; border:1px solid #D1D1E1; background:#ffffff; padding:2px; } </style> </head> <body> <table> <form method="post"> <tr> <td> <br/> Login:<input type="text" title="Введите Login" name="log" /> <br/> <br /> Password:<input type="password" title="Введите пароль" name="passwd" /> <br/> <br /> <center><input type="submit" name="sub" value=" Login " /></center> <br/> </td> </tr> </form> </table> </body> </html> Диз под сайт верстал... И главный скрипт к кторорому нужно открыть доступ info.php. Как сдемать что бы доступ с скрипту info.php был только через форму авторизации... В info.php просто лог статы...
в файле авторизации добавь при успешной авторизации например define("site", "www.site.ru"); и подключай файл info.php и в нём делай проверку if(defined('site')) { Всё ок.... } 1 или создай сессию при успешной авторизации $_SESSION['voshol'] = 1; а в файле info.php if(isset($_SESSION['voshol'])) { всё ок }
Проще некуда %) Code: <?php define("LOGIN", "mylogin"); define("PASSWORD", "000000"); define("MODE", TRUE); // TRUE - сравнивать логин и пароль без учёта регистра, FALSE - с учётом if(isset($_POST['log']) && isset($_POST['passwd']) && is_logined(MODE)) { setcookie('login', $_POST['log'], time()+31536000); setcookie('passwd', $_POST['passwd'], time()+31536000); } function is_logined($register) { if($register == false) { if(($_COOKIE['login'] == LOGIN && $_COOKIE['passwd'] == PASSWORD) || ($_POST['log'] == LOGIN && $_POST['passwd'] == PASSWORD)) { return true; } } else if($register == true) { if((strcasecmp($_COOKIE['login'],LOGIN)==0&&strcasecmp($_COOKIE['passwd'],PASSWORD)==0) || (strcasecmp($_POST['log'],LOGIN)==0&&strcasecmp($_POST['passwd'],PASSWORD)==0)) { return true; } } return false; } ?> <html> <head> <title>Авторизация</title> <style> body { padding-left:350px; font-family:tahoma, verdana, arial; font-size:11px; text-align:center; color:#000000; } table { border:1px solid #D1D1E1; margin:50px; padding:10px; } tr { text-align:center; } input { text-align:center; pargin:2px 0; padding-right:10px; padding-left:20px; border:1px solid #D1D1E1; background:#ffffff; padding:2px; } </style> </head> <body> <?php if(is_logined(MODE)) { // Код если всё в порядке } else { ?> <table> <form method="post"> <tr> <td> <br/> Login:<input type="text" title="Введите Login" name="log" /> <br/> <br /> Password:<input type="password" title="Введите пароль" name="passwd" /> <br/> <br /> <center><input type="submit" name="sub" value=" Login " /></center> <br/> </td> </tr> </form> </table> <?php } ?> </body> </html>