swg » Чт мар 02, 2017 3:08 pm
Помимо input hidden, имя которого можно прекрасно динамически менять как name="<?php echo md5('dummy'.$_SERVER['REMOTE_IP'].{идентификатор_материала}) ?>" для каждого пользователя - что уже интереснее, но не помогает, т.к. боты прекрасно "видят" hidden можно добавить еще input hidden полей для каждого нормального поля, данные в которые копируются при нажатии на кнопку "отправить" и name для них так же генерируется в виде md5({соль}.{IP клиента}.{идентификатор поля}); (о сопоставлений полей, ес-но, знает javascript).
Еще для того, чтобы отправить комментарий человечный пользователь обычно должен посетить страницу, вот при обращении записывать хотя бы 50 последних идентификаторов страниц (1 последний мало, т.к. есть "открыть в новой вкладке"), которые он посетил в сессию + timestamp. Есть боты, которые загружают страницу и корректно работают с cookie, но ... за 2-3 секунды комментарий люди не пишут. + в сомнительные, если этот список истории пуст (формально: содержит 1 посещение), т.е. "человек" сразу зашел куда надо. Так бывает - переходы из соц. сетей сразу на нужную страницу, но комментарий оставит один из ***. Сомнительные можно перенаправлять на страницу "подтвердите ваш комментарий: ... " уже с капчей.