Авторизация php+mysql+cookie
Листинг index.php:
на каждой из страниц управления сайтом на самом вверху располагаем этот участок кода:Код:<?php include_once ("mysql_connect.php"); function show_form() { *?> <table border="0" align="center" valign="center"> <form action="" method="POST"> <input type="hidden" name="inp" value="good"> <tr><td colspan="2" align="center">Вход в панель управления</td></tr> <tr> <td align="right">Логин:</td> <td align="left"><input type=text name="login" maxlength="10"></td> </tr> <tr> <td align="right">Пароль:</td> <td align="left"><input type=text name="passwd" maxlength="10"></td> </tr> <tr><td colspan="2" align="center"><input type="submit" value="Вход"></td></tr> </form> </table> <?php } function head() { echo ' <html> <head> <meta http-equiv="Content-type" content="text/html; charset=windows-1251"> <title> Панель Администратора </title> </head> <body>'; } function admin_form() { include_once("menu.php"); /* Меню со ссылками на странички, при переходе по ним мы попадаем на страницы управления сайтом.*/ } if (isset($_COOKIE['login']) && isset($_COOKIE['passwd'])) { *$login=stripslashes(trim(htmlspecialchars($_COOKIE['login']))); *$passwd=stripslashes(trim(htmlspecialchars($_COOKIE['passwd']))); *$login=str_replace("'","", $login); *$passwd=str_replace("'","", $passwd); *$query="SELECT * FROM admin where login='".$login."' and password='".$passwd."';"; *$result=mysql_query($query); *$result=mysql_num_rows($result); *if ($result>0) *{ *head(); *admin_form(); } else { *echo "Не правильный логин или пароль "; *echo show_form(); } } elseif (isset($_POST['inp'])) { *if (empty($_POST['login'])) { echo show_form(); exit('<script>alert("Введите логин!")</script>'); *} *if (empty($_POST['passwd'])) { echo show_form(); exit('<script>alert("Введите пароль!")</script>'); *} *$login=stripslashes(trim(htmlspecialchars($_POST['login']))); *$passwd=stripslashes(trim(htmlspecialchars($_POST['passwd']))); *$login=str_replace("'","", $login); *$passwd=md5($passwd); *$query="select * from admin where login='".$login."' and password='".$passwd."';"; *$result=mysql_query($query); *$result=mysql_num_rows($result); *if ($result>0) *{ * *setcookie("login", $login, time()+3600); * *setcookie("passwd", $passwd, time()+3600); ****head(); ****admin_form(); } else { *echo "Не правильный логин или пароль "; *echo show_form(); } } else { *echo show_form(); } ?> </body> </html>
а внизу этой же страницы добавляем:Код:include_once ('mysql_connect.php'); if (isset($_COOKIE['login']) && isset($_COOKIE['passwd'])) { *$login=stripslashes(trim(htmlspecialchars($_COOKIE['login']))); *$passwd=stripslashes(trim(htmlspecialchars($_COOKIE['passwd']))); *$login=str_replace("'","", $login); *$passwd=str_replace("'","", $passwd); *$query="SELECT * FROM admin where login='".$login."' and password='".$passwd."';"; *$result=mysql_query($query); *$result=mysql_num_rows($result); *if ($result>0) *{ include_once("menu.php");
скриптег фильтрует кавычки, пробелы, спец символы, но не может защитить от подделки самих куков, так что "начинающие администраторы" следите за тем, чтобы у вас не угнали куки.=))Код:} } else { *header("Location: index.php"); *exit(); }


