![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| grider |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
Здравстуйте всем. Есть вот такой код:
session_start(); if(!isset($_POST['ok'])) { echo " <html> <head><title>Autheration System</title></head> <body bgcolor=linen> <table height='100%' width='100%'> <tr> <td valign=center align=middle> <form method='POST' > <table border=1> <tr> <td align=middle colspan=2><b>Административный вход</b></td></tr> <tr><td align=right><font face='tahoma' size='2'>Login:</font></td> <td><INPUT name='login'></td></tr> <tr> <td><font face='tahoma' size='2'>Password:</font></td> <td><INPUT type=password name='pass'></td></tr> <tr> <td align=middle colspan=2> <input type=submit name='ok' value=Войти></td></tr> </table></form></td> </tr> </table> </body> </html>"; } else { include ("connect.php"); $res=mysql_query("SELECT * FROM auth WHERE login='".$_POST['login']."'AND pass='".$_POST['pass']."'",$conn); if(mysql_num_rows($res)!=1) { echo "Введены не верные логин или пароль"; } else { $_SESSION['status']=true; Header("Location:admin.php"); exit(); } mysql_close($conn); } Как можно реализовать такой алгоритм с помощью сессий где если пользователь вводит N-раз пароль,логин не правильно то система просто блокирует его дальнейшую работу или IP адрес пользователя |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
С помощью сессий такой механизм реализовывать бессмысленно.
Можно только с помощью БД. Соответственно - отдельная таблица, куда пишется логин или ид пользователя, время входа и, опционально - IP адрес при вводе логина смотрим в таблицу, сколько было попыток за последнее время, и, если количтество нас не устраивает, блокируем возможность входа. можно по экспоненте: если три раза ввели неправильно - блокируем на минуту, 5 - на 5, 10 - блокируем вообще, с возможностью разблокировки через обращение в администрацию. Ну, или что фантазия подскажет. IP адрес блокировать в современных условиях смысла, в общем, не имеет |
|||
|
||||
| grider |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.3.2008 Репутация: нет Всего: нет |
Feldmarschall напиши сам код где смотрим в табл. сколько раз было попыток входа если
не устраивает, блокируем возможность входа |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Я думаю, что если ты не в состоянии написать такой код самостоятельно, то твоей системе такая защита и не нужна.
Гораздо важнее сейчас для тебя занаться повышением своей квалификации в программировании. к примеру, для твоей авторизации даже подбирать ничего не надо - можно просто получить доступ, используя sql инъекцию Чтобы это предотвратить, передаваемые в запрос данные следует обрабатывать функцией mysql_real_escape_string() любые данные и всегда. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |