Запретить пользователю отправлять повторяющиеся сообщения с помощью PHP

Кто-нибудь может предложить хорошую функцию PHP, сценарий или метод, чтобы запретить пользователю отправлять повторяющиеся сообщения?

Вот сценарий. У меня есть сайт сообщества. Участники могут отправлять друг другу сообщения. Затем некоторые спамеры из Африки связались со всеми участниками, отправив сообщения о копировании и вставке. Как я могу предотвратить это?

Я видел, что на некоторых сайтах реализована аналогичная функциональность. Когда пользователь отправляет 3 сообщения и веб-сайт обнаруживает, что эти 3 сообщения являются дубликатами / похожими. Он предупреждает пользователя о спаме.

Кто-нибудь знает функцию или скрипт в PHP, который я мог бы использовать? Заранее спасибо.

1 ответ

Решение

Первое, что нужно сделать, это определить правило. Например, если вы считаете, что отправляете три сообщения точно, может быть очень легко обойти систему.

Одно из предложений, которое я использовал для чего-то подобного, - это функция http://php.net/similar_text

$var_1 = 'PHP IS GREAT';
$var_2 = 'WITH MYSQL';

similar_text($var_1, $var_2, $percent);

echo $percent;
// 27.272727272727

similar_text($var_2, $var_1, $percent);

echo $percent;
// 18.181818181818 

Затем проверьте историю пользователей, если последние 3 сообщения имели 80% или более похожих, вы блокируете пользователя.

Другие вопросы по тегам