Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Лимит авторизаций 
:(
    Опции темы
grider
  Дата 28.3.2008, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 адрес пользователя
PM MAIL   Вверх
Feldmarschall
Дата 28.3.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



С помощью сессий такой механизм реализовывать бессмысленно. 
Можно только с помощью БД.
Соответственно - отдельная таблица, куда пишется логин или ид пользователя, время входа и, опционально - IP адрес
при вводе логина смотрим в таблицу, сколько было попыток за последнее время, и, если количтество нас не устраивает, блокируем возможность входа. можно по экспоненте: если три раза ввели неправильно - блокируем на минуту, 5 - на 5, 10 - блокируем вообще, с возможностью разблокировки через обращение в администрацию. Ну, или что фантазия подскажет.
IP адрес блокировать в современных условиях смысла, в общем, не имеет


PM   Вверх
grider
Дата 28.3.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



  Feldmarschall напиши сам код где смотрим в табл. сколько раз было попыток входа если 
не устраивает, блокируем возможность входа
PM MAIL   Вверх
Feldmarschall
Дата 28.3.2008, 13:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я думаю, что если ты не в состоянии написать такой код самостоятельно, то твоей системе такая защита и не нужна.
Гораздо важнее сейчас для тебя занаться повышением своей квалификации в программировании.
к примеру, для твоей авторизации даже подбирать ничего не надо - можно просто получить доступ, используя sql инъекцию
Чтобы это предотвратить, передаваемые в запрос данные следует обрабатывать функцией mysql_real_escape_string()
любые данные и всегда.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0403 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.