Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Пишем защиту админ зоны. Учимся работать с 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, и научились грамотно защищать файл.

Новые функции, которые мы изучили в этом уроке:

  • die - Эквивалентен exit(), выведит сообщение, и закончит текущий сценарий.
  • defined - Проверяет, существует ли данная названная константа.
  • include - включает и выполняет указанный файл.
  • setcookie - передает данные cookies.

Обсуждения

Нет комментариев к “Пишем защиту админ зоны. Учимся работать с cookies.”

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал