Как предотвратить спам на сайтах, как показано на следующих рисунках

В последнее время я заметил много спам-строк, показывающих странное поведение текста, подобное следующему:

Я пытался понять это, но даже инструменты chromes не сильно помогут:

У меня есть несколько веб-сайтов в сети, и я хочу реализовать лучшую защиту от спама на стороне клиента и на сервере, но мне нужно знать, что проверять в первую очередь. Мне нужно знать, как это делается и, возможно, можно ли это обнаружить с помощью шаблона регулярных выражений.

любая помощь будет оценена!

PS: я хотел написать лучший заголовок, но я даже не знаю, как называется это поведение текста, и я не нашел ничего в Google

1 ответ

Решение

Это не совсем СПАМ, он известен как ZALGO. Обнаружить его в PHP немного сложно, попробуйте это регулярное выражение ниже:

if ( preg_match ( '/[^\x20-\x7E]/', $text ) || preg_match ( '/[^\x20-\x7E]/', $text ) ) {
    die('ZALGO not allowed');
}
Другие вопросы по тегам