Авторизация 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 &#39;
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
<title>
Панель Администратора
</title>
</head>
<body>&#39;;
}
function admin_form()
{
 


include_once("menu.php");
 /* Меню со ссылками на странички, при переходе 
по ним мы попадаем на страницы управления сайтом.*/



}
if (isset($_COOKIE[&#39;login&#39;]) && isset($_COOKIE[&#39;passwd&#39;]))
{
 *$login=stripslashes(trim(htmlspecialchars($_COOKIE[&#39;login&#39;])));
 *$passwd=stripslashes(trim(htmlspecialchars($_COOKIE[&#39;passwd&#39;])));
 *$login=str_replace("&#39;","", $login);
 *$passwd=str_replace("&#39;","", $passwd);
 *$query="SELECT * FROM admin where login=&#39;".$login."&#39; and password=&#39;".$passwd."&#39;;";
 *$result=mysql_query($query);
 *$result=mysql_num_rows($result);
 *if ($result>0)
 *{
 *head();
 *admin_form(); 
}
else
{
 *echo "Не правильный логин или пароль
";
 *echo show_form();
}
}
elseif (isset($_POST[&#39;inp&#39;]))
{
 *if (empty($_POST[&#39;login&#39;])) { echo show_form(); exit(&#39;<script>alert("Введите логин!")</script>&#39;); *}
 *if (empty($_POST[&#39;passwd&#39;])) { echo show_form(); exit(&#39;<script>alert("Введите пароль!")</script>&#39;); *}
 *$login=stripslashes(trim(htmlspecialchars($_POST[&#39;login&#39;])));
 *$passwd=stripslashes(trim(htmlspecialchars($_POST[&#39;passwd&#39;])));
 *$login=str_replace("&#39;","", $login);
 *$passwd=md5($passwd);
 *$query="select * from admin where login=&#39;".$login."&#39; and password=&#39;".$passwd."&#39;;";
 *$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 (&#39;mysql_connect.php&#39;);
if (isset($_COOKIE[&#39;login&#39;]) && isset($_COOKIE[&#39;passwd&#39;]))
{
 *$login=stripslashes(trim(htmlspecialchars($_COOKIE[&#39;login&#39;])));
 *$passwd=stripslashes(trim(htmlspecialchars($_COOKIE[&#39;passwd&#39;])));
 *$login=str_replace("&#39;","", $login);
 *$passwd=str_replace("&#39;","", $passwd);
 *$query="SELECT * FROM admin where login=&#39;".$login."&#39; and password=&#39;".$passwd."&#39;;";
 *$result=mysql_query($query);
 *$result=mysql_num_rows($result);
 *if ($result>0)
 *{
include_once("menu.php");
а внизу этой же страницы добавляем:
Код:
}
}
else
{
 *header("Location: index.php");
 *exit();
}
скриптег фильтрует кавычки, пробелы, спец символы, но не может защитить от подделки самих куков, так что "начинающие администраторы" следите за тем, чтобы у вас не угнали куки.=))