Лимит на сообщения

proWoke

Новичок
Вроде такой популярный вопрос, но не могу найти не в гугле, не на форуме. В общем как правильно реализовывать такую штуку. Если с данного IP адреса сообщения идут чаще, чем раз в n минут, то вывести сообщения типа "Не надо так часто писать!". И вот ещё вопрос: у меня на локальном компьютере, в переменной $_SERVER['REMOTE_ADDR'] находится "::1", хотя по идеи должно быть 127.0.0.1. Чё это такое?
 

Dovg

Продвинутый новичок
Если с данного IP адреса сообщения идут чаще, чем раз в n минут, то вывести сообщения типа "Не надо так часто писать!"
Сравнивай время последнего сообщения с этого айпи с текущим временем. Если между ними менее N минут, выводи свое сообщение.

Только это плохо. У нас, например, весь офис с одного айпи выходит, а писать хочу и я и мой сосед по комнате.
 

Sokil.Dmytro

Новичок
очевидным есть решение сохранять и проверять время последней записи, разве есть другие варианты?
 

proWoke

Новичок
очевидным есть решение сохранять и проверять время последней записи, разве есть другие варианты?
Ну это если зарегистрирован человек, а если нет? Типо гостевой книги.
Сравнивай время последнего сообщения с этого айпи с текущим временем. Если между ними менее N минут, выводи свое сообщение.
Да не, это то я понимаю хорошо, вообще хочу узнать как такое делать лучше всего. Через куки делается? Или в файл записывается или ещё куда? По IP или по логину это делается, вот какие то такие у меня вопросы.
 

Dovg

Продвинутый новичок
Начни с кук: ставишь куку на пять минут: если кука есть, то писать нельзя, если куки нет - писать можно.
 

Фанат

oncle terrible
Команда форума
Sokil.Dmytro
есть. Сохранять IP адрес вместе с каждым сообщением.
 

Dovg

Продвинутый новичок
Для неавторизованного пользователя ты не может гарантировать уникальность. Особенно, если у твоих пользователей есть желание писать чаще.
Куки включены у 99% пользователей, поэтому я их и предлагаю.

Если ты не веришь кукам, возьми какой-нибудь хеш от всей информации о пользователе, которую ты можешь получить:
sha1(user_agent, remote_addr, ... );
 

Sokil.Dmytro

Новичок
Sokil.Dmytro
есть. Сохранять IP адрес вместе с каждым сообщением.
так это часть того же решения. только хранить не IP а сигнатуру - хеш адреса, юзерагента и чего-нибуть еще уникального, время то все равно хранить надо в любом случае чтобы отмерять время задержки до нового поста
 
Сверху