Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форма обратной связи без перезагрузки (доработка)
 
 автор: antosha23   (07.01.2011 в 01:06)   письмо автору
2.7 Кб
 
 

дорогие друзья всех с наступающим рождеством! У меня возник такой вопрос как поставить лимит для отправки комментариев как на блоге http://www.evgeniypov.com
вот как на рисунке

  Ответить  
 
 автор: grafen   (07.01.2011 в 02:04)   письмо автору
 
   для: antosha23   (07.01.2011 в 01:06)
 

Здесь много вариаций можно придумать, но разумнее всего использовать БД. Там идет проверка по ip, если пользователь без регистрации или по логину, если зарегистрирован. Когда Вы добавляете комментарий, то в базе проверяются последние записи и если они принадлежат Вам, и они идут подряд и их больше 3х, то выводится такое сообщение.

  Ответить  
 
 автор: antosha23   (07.01.2011 в 13:41)   письмо автору
 
   для: grafen   (07.01.2011 в 02:04)
 

а если регистрация отсутствует, то так не получится что ли

  Ответить  
 
 автор: grafen   (08.01.2011 в 00:28)   письмо автору
 
   для: antosha23   (07.01.2011 в 13:41)
 

Получится, я же написал про это, просто надо "танцевать" от ip. Этот вариант легко обойти, воспользовавшись анонимайзерами, но минимальный эффект будет получен.

  Ответить  
 
 автор: antosha23   (08.01.2011 в 02:11)   письмо автору
 
   для: grafen   (08.01.2011 в 00:28)
 

а пример кода можна

  Ответить  
 
 автор: grafen   (08.01.2011 в 14:06)   письмо автору
 
   для: antosha23   (08.01.2011 в 02:11)
 

Могу на словах:
1) При добавлении комментария нужно записывать ip пользователя в БД. Т.е. у каждого сообщения должен быть записан ip.
2) В месте, где идёт добавление комментарий в БД, нужно сделать проверку, используя принцип else. Т.е. идёт запрос к бд, например id странички и ip адрес, делается выборка. Сначала смотрим, сколько сообщений соответствует таким параметрам, если меньше 3х, то спокойно добавляем в БД. Если больше трех, то делаем проверку по id комментариев, смотрим, идут ли они подряд (вот тут надо подумать), и от этого пляшем.

Смысл такой...

  Ответить  
 
 автор: Абырвалг   (08.01.2011 в 14:23)   письмо автору
 
   для: grafen   (08.01.2011 в 00:28)
 

Можно и без серверных определения ip и БД.
Можно обойтись скриптовыми document.cookie или window.name.

При отправке сообщения добавляйте в переменную (в одну или в другую) время отправки последнего сообщения. И анализируйте её. Будет уже 3 сообщения за пять минут - откажете клиенту в четвёртом.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования