Добро пожаловать, Гость!
Антифлуд на сайт - Страница 1
Помощь мастерам | Антифлуд на сайт
khujand :
if (isset($user) && (!isset($_SESSION['antiflood']) || $_SESSION['antiflood']<$time-300))
Как воспользоваться этим? Как создать антифлуд в поле ввода, что часто не писал юзер (в любом месте, +ещё защита от ботов).
Антифлуд на сайт
17 Фев 2016if (isset($user) && (!isset($_SESSION['antiflood']) || $_SESSION['antiflood']<$time-300))
Как воспользоваться этим? Как создать антифлуд в поле ввода, что часто не писал юзер (в любом месте, +ещё защита от ботов).
Комментарии:
Nnm 17 Фев 2016
khujand, ты когда такое в следующий раз написать захочешь убедись чтобы все кто это прочтет были в памперсах
khujand, ты когда такое в следующий раз написать захочешь убедись чтобы все кто это прочтет были в памперсах
khujand 17 Фев 2016
Автор темы
Nnm, а можно так:
if (isset($_SESSION['login']) && $_SESSION['login']>$time-300){
Ошибка
}
Автор темы
Nnm, а можно так:
if (isset($_SESSION['login']) && $_SESSION['login']>$time-300){
Ошибка
}
Nnm 17 Фев 2016
khujand,
<?
if(isset($_SESSION['time_aut']))$_SESSION['time_aut']=time();
а ставим
if($_SESSION['time_aut']>time())die('ссистема антифлуд');
/////Дальше после условия пост запроса
if(isset($_POST['login']) && isset($_POST['password'])){/////что то типа того будет после него пойдут ошибкивот туда ставим
$_SESSION['time_aut']=time()+300;
?>
Добавлено:
а точно неудачные попытки не посчитал
khujand,
<?
if(isset($_SESSION['time_aut']))$_SESSION['time_aut']=time();
а ставим
if($_SESSION['time_aut']>time())die('ссистема антифлуд');
/////Дальше после условия пост запроса
if(isset($_POST['login']) && isset($_POST['password'])){/////что то типа того будет после него пойдут ошибкивот туда ставим
$_SESSION['time_aut']=time()+300;
?>
Добавлено:
а точно неудачные попытки не посчитал
Olk 17 Фев 2016
Принцип.
<?
/* =======
registration
====== */
/* -- считаем неудачные попытки -- */
$a = (!isset($_SESSION['flood_reg']) ? 0 : $_SESSION['flood_reg']);
$_SESSION['flood_reg'] = $a; // сохраняем в сессию
$b = (!isset($_SESSION['flood_time']) ? 0 : $_SESSION['flood_time']); // время
/* -- не пустим хацкира -- */
if($a > 9 && (time() - $b) < 300){
/* -- время не прошло -- */
$_SESSION['msg'] = 'Превышен лимит.';
exit(header('Location: /?'));
}else{
unset($_SESSION['flood_reg'], $_SESSION['flood_time']);
} // кроем, если время прошло
/* =======
auth
====== */
if(<не валид пасс> || <не валид акк>){
/* вывод ошибок и т.д. */
$a++; // +1 к неудачным попыткам
if($a > 9) $_SESSION['flood_time'] = time(); // старт времени
}
?>
Думаю, логика ясна.
Принцип.
<?
/* =======
registration
====== */
/* -- считаем неудачные попытки -- */
$a = (!isset($_SESSION['flood_reg']) ? 0 : $_SESSION['flood_reg']);
$_SESSION['flood_reg'] = $a; // сохраняем в сессию
$b = (!isset($_SESSION['flood_time']) ? 0 : $_SESSION['flood_time']); // время
/* -- не пустим хацкира -- */
if($a > 9 && (time() - $b) < 300){
/* -- время не прошло -- */
$_SESSION['msg'] = 'Превышен лимит.';
exit(header('Location: /?'));
}else{
unset($_SESSION['flood_reg'], $_SESSION['flood_time']);
} // кроем, если время прошло
/* =======
auth
====== */
if(<не валид пасс> || <не валид акк>){
/* вывод ошибок и т.д. */
$a++; // +1 к неудачным попыткам
if($a > 9) $_SESSION['flood_time'] = time(); // старт времени
}
?>
Думаю, логика ясна.
khujand 17 Фев 2016
Автор темы
Nnm, да я хочу использовать сессию, можешь написать код?
Добавлено:
Nnm, чтоб после каждой загрузки страниц, юзер должен подождать 300секунд
Автор темы
Nnm, да я хочу использовать сессию, можешь написать код?
Добавлено:
Nnm, чтоб после каждой загрузки страниц, юзер должен подождать 300секунд
Nnm 17 Фев 2016
khujand,
а какая разница? у гостей тоже есть таблица в воторую можно отправлять запрос при неудачной авто&изации или использовать сессию
khujand,
а какая разница? у гостей тоже есть таблица в воторую можно отправлять запрос при неудачной авто&изации или использовать сессию