[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Блок формы авторизации
krasnu
Нужно заблокировать форму на 1 минуту при 3-ох кратном не верном вводе данных. Для подсчета количества неверных попыток использовал тхт файл. если меньше 3 неверных вводов то повторяем попытку, вот что делать когда больше? как реализовать?
З.Ы. Сам начинающий, опыта мало...
AllesKlar
krasnu
вариант А (с блокировкой формы)
Блокировать нужно в двух местах:
1. в клиенте яваскриптом (количество попыток сохраняем в переменную)
2. на сервере (количество попыток сохраняем в сессию)

вариант В (без вывода фрмы после блокировки)
количество попыток в сессии, если сработала блокировка, то вместо формы выводим уведомление об этом с предложением попробовать через 1 минуту.

файл не нужен. более того, файл противопаказан. Как ты будешь считать попытки логина 10х человек одновременно?

Предвидя вопрос: можно сбросить сессию.. отвечаю: сбросить можно все, и ip новый тоже, так что блокировки как таковой на 100% не получится. Но, с учетом того, что нужна лишь минута, это не критично. Пока рутер будет новый ip выдавать, таже минута и пройдет.

Если это для тебя в реализации сложно, выкладывай, что написал, допилим.

_____________
[продано копирайтерам]
Valick
Цитата
файл не нужен. более того, файл противопаказан. Как ты будешь считать попытки логина 10х человек одновременно?

Эта ещё пашаму? Все зависит от реализации авторизации. Ну и в чем проблема создать 10 файлов?
Цитата
сбросить можно все, и ip новый тоже, так что блокировки как таковой на 100% не получится

Двойка тебе с минусом sad.gif
Блокируется определённый логин, и плевать на сессию, на айпи и на всё вместе сразом.

_____________
Стимулятор ~yoomoney - 41001303250491
AllesKlar
Valick
Спасибо, пока воздержусь от твоего подарка, можешь двойку себе взять.
Почему?
Регистрируемся по-честному, далее пишем небольшой скрипт, который парсит со всех доступных мест логины, дальше что? Правильно.. запускаем "бомбу", которая логинится под всеми логинами, и со скоростью 150 логинов в секунду происходит блокировка..
Ну чем не DDoS? За 10 секунд всех юзеров забанить smile.gif

Цитата
Эта ещё пашаму? Все зависит от реализации авторизации. Ну и в чем проблема создать 10 файлов?

Да вообще не вопрос. Можно вообще отдельный физический сервер развернуть и по ftp там сохраять.
Сессии - это же так просто и не интересно.. для слабаков, так сказать.

_____________
[продано копирайтерам]
Valick
хи-хи smile.gif
забыли вы там в буржуазной германии как с файлами работать.
Цитата
Ну чем не DDoS? За 10 секунд всех юзеров забанить

так ТС хочет, я тут при чем?

_____________
Стимулятор ~yoomoney - 41001303250491
krasnu
При авторизации вводиться логин,пароль, номер моб, дата рождения.
Есть 2 вида пользователей с доступами к страницам dostu1 или dostup2. Пишу возможно с кучей мусора, извините учусь)
<?php

error_reporting(-1);
$log=$_POST['login'];
$pas=$_POST['password'];
$tel=$_POST['tel'];
$data=$_POST['data'];

$checklog = strlen($log);
$checkpas = strlen($pas);
if ($checkpas >= 6 and $checklog >=3) {
$db=mysql_connect("localhost",'root','');
mysql_select_db('firstbd',$db);

$result=mysql_query("SELECT * FROM accounts WHERE (login = '$log') AND (password = '$pas')", $db);
if (!$result)
{echo "<p>Запрос авторизацию не прошел. прблема с поделючение к БД <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());}
$myrow=mysql_fetch_array($result);
if (!$myrow) {echo '<a href="login.php">Не верно введен логин или пароль(Нажмите что бы повторить)</a>';}
else {
if ($myrow['datab']==$data)
{
if ($myrow['mobile']==$tel)
{ session_start();
$_SESSION["Login"] = "YES";
if ($myrow['dos']==$dostup1)
{echo "<html><head><meta http-equiv='Refresh' content='0; URL=dostup1.php'>
</head></html>"
;}
else {echo "<html><head><meta http-equiv='Refresh' content='0; URL=dostup2.php'>
</head></html>"
; }
}

else {echo('<a href="login.php">Телефон указан не верно(Нажмите что бы повторить)</a>');}
}

else {echo('<a href="login.php">Не правильно введена дата вашего рождения(Нажмите что бы повторить)</a>');}
}
}

else {
echo '<a href="login.php">Вы не ввели логин или слишком короткий пароль(Нажмите что бы повторить)</a>';}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.