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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Флуд-контроль 
:(
    Опции темы
mr.Anderson
Дата 11.8.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Подскажите, как установить задержку между отправкой сообщений в гостевой книге? Например, чтобы новое сообщение можно было отправить только через 10 секунд после предыдущего.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
arial
Дата 11.8.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



Самое простое - куку поставить.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Muchenik
Дата 11.8.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Можно сохранить в сессии время последней отправки...
к примеру
Код

$_SESSION['lastsend'] = time();


потом
Код

if ((time() - $_SESSION['lasttime']) > 10 ){
// отправить 
}

PM MAIL ICQ   Вверх
Guedda
Дата 12.8.2006, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



А лучше кук поставить. На такое простое дело.
Код

setcookie("dont_write", "1", time() + 100);

//Проверка осуществляется так:
if(isset($_COOKIE['dont_write'])) //если есть кука, то нельзя писать...



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Gold Dragon
Дата 12.8.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(arial @  11.8.2006,  22:01 Найти цитируемый пост)
Самое простое - куку поставить.

когда данные с формы отправил проверяешь наличие кука

Код

if(!isset($_COOKIE['flud'])){
    // если кук не существует, то делаешь что тебе надо
    // и сохраняешь свои данные
    // потом в конце всего ставишь кук
    setcookie ("flud", '1', time()+120);
    // этот кук (вернее параметр "flud") будет жить 120 секунд
    // потом с чистой совестью умрёт
}else{
    // если "flud" в куке существует
    // то убегаем на страничку ошибок, ну или как хочешь
    header("Location: http://".$_SERVER['HTTP_HOST']."/index.php?pages=error");
    exit;
}




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
mr.Anderson
Дата 12.8.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Спасибо, получилось! Но вот вопрос. А если у пользователя отключены Cookie ?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Guedda
Дата 12.8.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Ну. Можно сообразить два варианта.
1) Перед отправкой сообщения напоминать, что у пользователя должны быть включены кукис. Это самое простое.
2) Использовать сессии, как говорилось выше. Это сложнее, так как сессии ещё надо инициализировать, и т.п.

И вообще, если ты делаешь проект, в котором пользователь регистрируется и т.п. то по умолчанию кукисы должны быть включены smile


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 12.8.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Какие куки и сессии?
Это не спасет совершенно.
Флуд контроль работает только с зарегистрированными пользователями, у которых сессия установленная через БД или другое хранилище и идут проверки на IP, User-Agent'a, тогда можно писать время последнего постинга в БД.

Это сообщение отредактировал(а) Mal Hack - 12.8.2006, 15:15
PM ICQ   Вверх
Muchenik
Дата 14.8.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

Флуд контроль работает только с зарегистрированными пользователями

Не совсем понятно. Значит не зарегистрированный пользователь может флудить... или не может добавлять сообщения. На мой взгляд не совсем верно.

Но полностью согласен с 
Цитата

проверки на IP, User-Agent'a, 


что можно делать с теми же сессиями.

Еще не совсем согласен с Guedda
Цитата

Использовать сессии, как говорилось выше. Это сложнее, так как сессии ещё надо инициализировать, и т.п.

Интересно, чем это использование сессии  сложнее чем использование кукки??? В том что нужно написть session_start(); 
Может конечно ошибаюсь  smile 




Это сообщение отредактировал(а) Muchenik - 14.8.2006, 17:26
PM MAIL ICQ   Вверх
AztEK
Дата 14.8.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Куки - бред ибо половину флудеров составляют боты.
Цитата(Mal Hack @  12.8.2006,  18:14 Найти цитируемый пост)
Флуд контроль работает только с зарегистрированными пользователями, у которых сессия установленная через БД или другое хранилище и идут проверки на IP, User-Agent'a, тогда можно писать время последнего постинга в БД.

Здравая паранойа  smile . Если нет возможности/желания делать это всё, хватит имхо и просто ip.


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Mal Hack
Дата 14.8.2006, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(AztEK @  14.8.2006,  20:31 Найти цитируемый пост)
Если нет возможности/желания делать это всё, хватит имхо и просто ip. 

А бота, динамически меняющего IP не хочешь? %smile

Цитата(Muchenik @  14.8.2006,  18:15 Найти цитируемый пост)
Значит не зарегистрированный пользователь может флудить...

Значит то, что НЕЗАРЕГИСТРИРОВАНОГО трудно идентифицировать при смене IP...
PM ICQ   Вверх
alligator
Дата 16.8.2006, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Раз уж на то пошло то проще ввести проверку по картинкам =)
PM MAIL   Вверх
arial
Дата 16.8.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



alligator, у флудера от флуда настолько дух перехватывает, что он при виде картинки впадёт в ступор? smile 


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Mal Hack
Дата 16.8.2006, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(arial @  16.8.2006,  19:17 Найти цитируемый пост)
alligator, у флудера от флуда настолько дух перехватывает, что он при виде картинки впадёт в ступор? smile  

Это защитит от ботов.
PM ICQ   Вверх
Gold Dragon
Дата 17.8.2006, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



А кто-нибудь может поделиться кодом "проверки по картинке"?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0858 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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