Защита выполнения php-скрипта паролем

При написании PHP скриптов иногда требуется ввести дополнительный уровень безопасности их исполнения для того, чтобы они могли быть запущены только администратором сайта (или по крайней мере того, кто знает пароль для запуска этого скрипта на исполнение). Задача защиты выполнения php-скрипта паролем достаточно тривиальная: для этого нужно перед исполнением скрипта запросить пароль и сверить его с тем, что был назначен для защиты скрипта от несанкционированного запуска.



Код защиты паролем выполнения php скрипта

Код защиты паролем выполнения php скрипта в простейшем случае будет выглядеть так:

<?php

$user = $_POST['user'];
$pass = $_POST['pass'];

if($user == "admin" && $pass == "admin")
{
	echo 'Логин и пароль указаны верно!';
}
else
{
	if(isset($_POST))
	{?>
		<H3>Для работы нужен логин и пароль</H3>
		<form method="POST" action="">
			Логин <input type="text" name="user"></input><br/>
			Пароль <input type="password" name="pass"></input><br/>
			<input type="submit" name="submit" value="Вход"></input>
		</form>
    <?php }
}?>

Пояснения к PHP скрипту с защитой от выполнения паролем

В строке 6 производится проверка соответствия логина и пароля на значения admin / admin (их конечно нужно поменять). И, если логин и пароль совпадают с этими значениями, то выполняется то, что находится в блоке между фигурными скобками этого условия (между строками 7 и 9). В данном случае, выполняется вывод сообщения echo 'Логин и пароль указаны верно!';

Если значения введены неправильно или вообще не введены, то срабатывает условие else в строке 10 и выдаётся вывод HTML формы, в которой запрашиваются логин и пароль:


Для работы нужен логин и пароль

Логин
Пароль

Обработчиком формы назначен тот же скрипт, который выдаёт эту форму. Обратите внимание на параметр action="" в 15-й строке. Его можно изменить, введя тот скрип, который будет обрабатывать логин и пароль, введённый в этой форме.

Резюме

Таким образом можно достаточно просто защитить php скрипт логином и паролем для запуска его только теми пользователями, которые из знают.

Проверку можно усложнять, разнеся её в разные файлы и/или функции, ввести cookie, чтобы правильно введённые пароли не нужно было вводить каждый раз.

Можно упростить данный скрипт, оставив только ввод пароля (логин мне тут кажется лишним).

Код защиты выполнения php-скрипта паролем будет работать на любой версии PHP в том виде, котором он приведён, что и требуется на первом этапе разработки PHP приложения. =)

О том, как передать логин и пароль в php-скрипте в скрытом поле (hidden) формы для того, чтобы его не нужно было каждый раз вводить, можно прочитать в → этой статье.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню