Зачем делать проверку на кириллицу в поле имени автора комментария записи или отзыва на товар
- Запрет использования в имени автора латинских (английских) букв на русскоязычном сайте может помочь в борьбе со спамом и другими формами нежелательной активности.
- В основном при рассылки спама через формы комментариев и отзывов на сайте в имени автора используют английские (латинские) буквы.
- Проверка имени на кириллицу может помочь в предотвращении атак, связанных с уязвимостями, связанными с кодированием и декодированием текста на разных языках.
Если вы хотите защитить свой сайт от спама и несанкционированной рекламы, то проверка имени на наличие латиницы может помочь избавить отправки с сайта подозрительных комментариев или отзывов, созданных ботами или другими автоматическими системами.
Код для проверки поля «Имя» на наличие кириллицы (отсутствие латинских букв)
Чтобы запретить ввод имени не на кириллице в комментариях к записям WordPress или в отзывах к товарам WooCommerce, вам нужно добавить следующий код в файл functions.php
вашей активной темы:
// Функция для проверки имени автора комментария на кириллицу / zenid.ru function zenid_cyrillic_comment_author($comment_id) { // Получаем комментарий по его ID, $comment = get_comment($comment_id); // Получаем имя автора комментария $comment_author = $comment->comment_author; // Регулярное выражения для проверки на кириллицу $pattern = '/^[\p{Cyrillic}\s]+$/u'; // Проверяем, соответствует ли имя автора комментария проверки на кириллицу if (!preg_match($pattern, $comment_author)) { // Если имя автора комментария содержит латиницу, то останавливаем выполнение с сообщением об ошибке wp_die('Имя автора отзыва должно быть на кириллице. <a href="javascript:history.back()">Вернуться назад</a>'); } } // Добавляем функцию проверки имени автора отзыва через хук 'comment_post' // Функция сработает после создания комментария add_action('comment_post', 'zenid_cyrillic_comment_author'); //zenid.ru
В этом коде:
- Создается функция
zenid_cyrillic_comment_author()
, которая проверяет имя автора комментария на наличие символов кириллицы. - Функция привязывается к хуку
comment_post
, который срабатывает после создания комментария. - Если имя автора комментария не содержит символов кириллицы, функция останавливает выполнение и выводит сообщение об ошибке.
Этот код будет работать только для новых комментариев и отзывов. Существующие с именами авторов, не содержащими кириллицу, не будут затронуты.
Добавьте этот код в файл functions.php
вашей активной темы и не забудьте сделать резервную копию файла перед внесением изменений.