Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Скрипт: Защита от перебора
ваш текущий ip адресс: <?PHP print($_SERVER['REMOTE_ADDR']);?><br>
последняя авторизая : <?PHP print("системе не известна");?><br><BR>
Сейчас выбудуте пермещены.<BR><a href='home.php' style="FONT-SIZE: 8pt; COLOR: #004400; FONT-FAMILY: verdana,geneva,arial cyr;text-decoration: none;">Нажмите сюда если браузер не перенаправляет вас автоматически</a>
</td></tr>
</table>
***********************
Структура таблицы
**********************
В phpMyAdmin Тыкаем на нужную ДБ а потом там с верху - SQL
и копируем туда сей код
`logintime` timestamp NOT NULLdefault CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Следует учесть один омент, что таблицу unauth придётся чистить вручную или вставить код очистки в код приведённый выше.
DELETE FROM `unauth` WHERE logintime<DATE_SUB(NOW(),INTERVAL 1 HOUR)
Также возможен ещё один вариант защиты от перебора.
До проверки формы вписать sleep(3); Таким образом скрипт будет бездействовать три секунды. Но этот способ, на мой взгляд, применим только при входе в админ панель, так как один человек и может подождать три секунды, так как зависание скрипта загружает сервер и так как для одного человека заводить целую таблицу бессмысленно.
----- Truly yours, Sasha.
LEONeso
Отправлено: 28 Ноября, 2010 - 12:57:34
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
Таблица unauth создается как хранилище данных о авторизации, а users как таблица с данными юзеров - надеюсь я верно понял. Но:
valenok пишет:
// Далее сообщение которое увидит вошедший пользователь
<table align=center bgcolor="#FFD987" width=500 valign=center>
<tr><td align=center>Здравствуйте <?PHP echo mysql_escape_string($user); ?>,<br>
ваш текущий ip адресс: <?PHP print($_SERVER['REMOTE_ADDR']); ?><br>
последняя авторизая : <?PHP print("системе не известна"); ?><br><BR>
Сейчас выбудуте пермещены.<BR><a href='home.php' style="FONT-SIZE: 8pt; COLOR: #004400; FONT-FAMILY: verdana,geneva,arial cyr;text-decoration: none;">Нажмите сюда если браузер не перенаправляет вас автоматически</a>
</td></tr>
</table>
кажется, что данный текст и так увидит любой пользователь (без авторизации). Верно? или в коде идет обрыв потока кода при неудачной авторизации ? (я не вижу)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.