Вы говорите о конкретном ajax-спаме на вашем сайте или о ajax-spam в целом?
Если последнее, вы можете использовать хеши, чтобы предотвратить автоматическую отправку форм, то есть написать свой hash()
один-way функция, которая берет строку и делает из нее sha1-контрольную сумму.
Вот как вы ее используете:
// the page is a blog post #357
$id = 357;
$type = 'post';
$hash = hash($_SERVER['REMOTE_ADDR'].$type.$id);
Поместите этот хеш в скрытое поле, которое не внутри формы комментария или даже скрытого div, где-то внизу страницы, и назовите его «control_hash» или что-то в этом роде.Прикрепите это значение к ajax-запросу при отправке формы.Когда форма получена сценарием, создайте новый хэш из данных $_REQUEST
(исключая существующие $control_hash
) и проверьте, совпадают ли они.
Если форма была отправлена ботом, она не будет иметь$control_hash
, так что не пройдет.