Подскажите, где грабли...
Решил бороться таким образом.... При входе на страницу, открывается сессия и генерится случайная строка. ID сессии и строка кладутся в БД. Эта же строка инициализируется в java script в виде переменной unid.
При отправке формы, делается проверка содержимого формы. Если все нормально, посредством JS в форме создается еще одно поле с значением unid.
Делаю это так...
Отрывок Java Script...
var unid="некая строка...";
var myForm=document.getElementById('addForm');
var tag=document.createElement('input');
tag.type='hidden';
tag.name='unid';
tag.value=unid;
myForm.appendChild(tag);
Далее форма отправляет данные на сервер, на котором делается проверка unid с тем, что есть в БД, по ключу ID сессии. Если запись в БД есть, то пост проходит.
Результат - спама не стало, но у нескольких пользователей возникли проблемы. С пост запросом не приходит значение unid. То есть затык на мой взгляд в Java Script, так как форма не отправляет значение unid.
У пользователей стоит IE 6 версии.
Подскажите, в чем может быть проблема?
Недавно shaelf порекомендовал до безобразия простой, но достаточно эффективный способ борьбы с субмитерами: делать в форме пустое, невидимое в браузере текстовое поле. Человек его не заполнит, а автомат, по своей туповатой привычке, попытается в него подставить значение (дать ему имя, например email - стопудово заполнит). Соответственно, формы с заполненным полем можно просто игнорировать. Способ хорош уже просто своей простотой.
а я делаю так: если в сообщении встречаются хоть намёки на телефоны, линки, емайлы, а также слова интим, фото и т.д. в ответ вываливается... хотя зайдите на мой сайт и увидите )
ничё не говорю, просто как один из вариантов. скоро добавлю и скрытое поле, и uid...
foxweb. не удержался - проверил твою защиту))))))))
Цитата: Aoli
foxweb. не удержался - проверил твою защиту))))))))
сам ведь просил)))))))
Прикольно получилось))))
Все идем на http://foxweb.net.ru/foxgb/ - тестить)
сам ведь просил)))))))
Прикольно получилось))))
Все идем на http://foxweb.net.ru/foxgb/ - тестить)
спасибо, учтём! так ведь не на людей рассчитано, а на тупых ботов!
в общем защита элементарная, но спаму стало на в 2000 раз меньше, так что эффективность налицо! )))