Пишем защиту админ зоны. Учимся работать с cookies.
Многие сталкивались с проблемой защиты админ зоны. Мы рассмотрим один из вариантов такой защиты…
Начнем с создание файлов… Создаем файл config.php который будет содержать в переменных логин и пароль админа.
Листинг файла config.php:
<?php
$login=”Admin”;
$pass=”password”;
?>
Теперь приступим к написанию основного кода. Для начало открываем наш файл с конфигам для последующей работы с переменными:
include(“config.php”);
После – проверяем условия. Если параметр post совпадает с переменными из фала, то создает cookies и открывает файл админки:
if($_POST['user']==$login and $_POST['passw']==$pass):
setcookie(“userr”,$_POST['user']);
setcookie(“passs”,$_POST['passw']);
include(“admincp.php”);
Если cookie существует, и совпадает с переменными из файла, то входит в защитную зону:
elseif($userr==$login and $passs==$pass):
include(“admincp.php”);
$userr и $passs передают cookie и содержат данные, которые мы туда записали.
Теперь заканчиваем наши условия и выводим форму для входа:
else:
?>
<form method=POST>
Login: <input type=text name=user maxlength=80 size=30>
<br>Pssword: <input type=password name=passw maxlength=80 size=30>
<input type=”submit” value=”Вход”>
</form>
<?
endif;
?>
Форма для входа написана, теперь пишем код, который будет удалять наши cookie:
<?
setcookie(“userr”);
setcookie(“passs”);
print ‘<meta http-equiv=”refresh” content=”0; url=index.php”>’;
?>
Содержимое print просто перенесет нас на главную страницу после удаления cookie. Поместив этот код в файл exit.php.
В админ панели ставим ссылку на этот файл. Теперь защищаем файл админки от просмотра, это мы осуществим так… В файле админки (admincp.php) в самом начале пишем код:
<?
if(!defined(“INDEX”)) die(“Доступ к файлу закрыт!”);
?>
Это значит, что если передать параметру defined(“INDEX”) – yse, страница будет грузится дальше, а если нет, то выведет “ Доступ к файлу закрыт ”. Теперь правим открытие этого файла – в скрипте… Дописываем перед include(“admincp.php”); код:
define(“INDEX”, “yes”);
Теперь этот файл откроется.
Всё, файл защищен, можно туда вложить защищаемую информацию.
Ниже приведены листинги готовых файлов…
Листинг файла index.php:
<?php
include(“config.php”);
if($_POST['user']==$login and $_POST['passw']==$pass):
setcookie(“userr”,$_POST['user']);
setcookie(“passs”,$_POST['passw']);
define(“INDEX”, “yes”);
include(“admincp.php”);
elseif($userr==$login and $passs==$pass):
define(“INDEX”, “yes”);
include(“admincp.php”);
else:
?>
<form method=POST>
Login: <input type=text name=user maxlength=80 size=30>
<br>Pssword: <input type=password name=passw maxlength=80 size=30>
<input type=”submit” value=”Вход”>
</form>
<?
endif;
?>
Листинг файла admincp.php:
<?
if(!defined(“INDEX”)) die(“Доступ к файлу закрыт!”);
?>
<a href=”exit.php” mce_href=”exit.php”>Выход</a>
<br><br><h1>Защищаемая инфармация!</h1>Листинг файла exit.php:
<?php
$login=”Admin”;
$pass=”pass”;
?>
В ходе этого урока мы подробнее разобрали условия if, else и т.д., научились создавать и удалять cookies, и научились грамотно защищать файл.
Новые функции, которые мы изучили в этом уроке:





Добавить комментарий
Вы должны войти