|
|
|
| Насколько такая защита для админик безопасна
Пароль записан в конфиг.
При попытки войти в админку он выдает окно для ввода пароля, если пароль введен он запускает если нет, то выдает форму для входа.
require_once ("config.php");
echo "<head>
if (!isset($_GET['pswrd']) or $_GET['pswrd'] !="$password")
{
echo "
<center>
<table border=1 cellspacing=0 cellpadding=0 width=50% height=100% bgcolor=#5a98e1>
<tr bgcolor=#ebe9ed height=130><td><center><h2>Панель для администраторов</h2></center></td></tr>
<tr>
<td>
<center>
<table border=1 cellspacing=0 cellpadding=40 bgcolor=#ebe9ed>
<tr>
<td>
<form action='index.php' method='get' name=pass>
<center>Пароль: <input type=password name=pswrd size='28'> <br><br><br>
<center><input type='submit' value='Войти в панель администрирования'>
</form><br><br>
<a href='../'>На главную доску</a>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</center>";
}
else
{
if ($_GET['pswrd']=="$password")
{
}
|
| |
|
|
|
|
|
|
|
для: TanTaL91
(28.11.2008 в 19:51)
| | скобки можно убрать
"$password"
и
else { if { } } равнозначно elseif { } | |
|
|
|
|
|
|
|
для: bronenos
(28.11.2008 в 20:53)
| | Я хотел бы узнать про надежность такой защиты... | |
|
|
|
|
|
|
|
для: TanTaL91
(28.11.2008 в 20:55)
| | Вот:
<?
if(empty($_SERVER['PHP_AUTH_USER']))
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
if($_SERVER['PHP_AUTH_PW'] != $login || $_SERVER['PHP_AUTH_USER'] != $password)
{
Header("WWW-Authenticate: Basic realm=\"Control Page\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
|
| |
|
|
|
|
|
|
|
для: Николай2357
(28.11.2008 в 21:11)
| | И причём тут это? | |
|
|
|
|
|
|
|
для: BinLaden
(28.11.2008 в 21:17)
| | Суть в чем... Вообщем надо написать не пробиваемую защиту для админки. Пароль будет храниться в конфиге или в каком то отдельном файле.
Как это так сделать что бы было на все 100% | |
|
|
|
|
|
|
|
для: TanTaL91
(28.11.2008 в 21:21)
| | Это можно назвать защитой только если дальше к каждой форме, ссылке в адрес добавляется &pswrd=12345,
и на каждой странице администрирования снова так-же проверяется
, и одно только это не гарантирует, что в другом месте не найдётся дыра, и не считают этот файл
( плохо тем , что иногда всё-таки забывается выключать указание источника перехода,
и часто нужно переходить ещё из админки на разные сайты,
где некоторым неленивым админам , можно будет подсмотреть ваш Referer с паролем
)
а так , это только отправка и обработка формы | |
|
|
|
|
|
|
|
для: TanTaL91
(28.11.2008 в 21:21)
| | Что бы гарантировано защититься от взлома, нужно выключить сервер и закопать его на трех метровую глубину. И то, это не 100% гарантия. А так, если не нужен логин, имхо, вполне достаточно того, что написано, только я бы переписал нижнюю часть как то так:
<?
elseif ($_GET['pswrd']!==$password)
{
exit("Фиг вам. <a href='?' >Попробуем еще?</a>");
}
else
{
|
| |
|
|
|
|
|
|
|
для: Николай2357
(29.11.2008 в 01:19)
| | >и закопать его на трех метровую глубину
Не, сейчас если не ошибаюсь глубина поменьше. | |
|
|
|
|
|
|
|
для: BinLaden
(28.11.2008 в 21:17)
| | Просто в аське код не видно ::)) | |
|
|
|
|
|
|
|
для: Николай2357
(28.11.2008 в 21:11)
| | При Basic-авторизации любой пароль передается в открытом виде без шифрования. Самый простой снифер - ваш пароль у злодея в кармане. | |
|
|
|
|
|
|
|
для: mihdan
(29.11.2008 в 14:24)
| | При любом методе пароль передается без шифрования. Трафик шифруется при помощи SSL, который можно применять совместно с Basic-авторизацией. | |
|
|
|
|
|
|
|
для: cheops
(29.11.2008 в 14:39)
| | А как можно зашифровать пароль? | |
|
|
|
|
|
|
|
для: TanTaL91
(30.11.2008 в 12:25)
| | Использовать SSL :) | |
|
|
|
|
|
|
|
для: Aidaho
(01.12.2008 в 12:04)
| | а пример в студию моно ? :) | |
|
|
|
|
|
|
|
для: TanTaL91
(02.12.2008 в 19:20)
| | Да, было бы интересно... | |
|
|
|
|
|
|
|
для: Maxam
(03.12.2008 в 23:42)
| | ставим к апачу mod_ssl переконфигуриваем апач и заходим https://bla bla... вот и все :) | |
|
|
|