Авторизация 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();
}
скриптег фильтрует кавычки, пробелы, спец символы, но не может защитить от подделки самих куков, так что "начинающие администраторы" следите за тем, чтобы у вас не угнали куки.=))