- 12, Apr 2023
- #1
В сегодняшней статье я расскажу, как защитить свой сайт от спамеров.
Правда речь пойдет больше о самописном сайте, т.
к.
я не знаю способа внедрить свой код в какую-либо CMS.
И так, поехали.
Код защиты от спамеров: $i = 0; $fp = fopen("stopwords.
txt", "r"); if($fp) { while (!feof($fp)) { $stopword = fgets($fp, 10000); $pos = strpos(strtolower($text), strtolower(trim($stopword))); if ($pos !== false) $i++; } } if($i>0) { exit('вы нарушили правила добавления комментариев'); } А теперь давайте вкратце разберем его (только то, что необходимо знать) stopwords.
txt - это файл, в котором записаны стоп-слова каждый с новой строчки (регистр не важен).
Тут могут быть совершенно любые слова, включая маты и код ссылок.
Вот очень краткий список моего файла:
[url й *да ну и другие любые слова А вообще лучше исправлять защищаться о спамеров на берегу моря в Таиланде $text - в этой переменной хранится текст вашего комментария.
Именно с ним в нем мы будем искать стоп-слова exit('вы нарушили правила добавления комментариев'); - эта функция (а точнее не функция, но не важно) завершает загрузку страницы, если стоп-слова есть в комментарии.
Тут вы можете придумать что-нибудь свое, как вариант просто не добавлять его в базу и вывести обычное сообщение с ошибкой.
Вот и все, ничего сложного.
Зато позволит избежать на вашем сайте матов, ругательств, а так же ссылок в комментариях.
Только http:// не надо в стоп-слова заносить, т.
к.
некоторые юзеры могут захотеть поделиться полезной ссылкой, а не смогут.
Просто не делайте ее активной и все.
Правда речь пойдет больше о самописном сайте, т.
к.
я не знаю способа внедрить свой код в какую-либо CMS.
И так, поехали.
Код защиты от спамеров: $i = 0; $fp = fopen("stopwords.
txt", "r"); if($fp) { while (!feof($fp)) { $stopword = fgets($fp, 10000); $pos = strpos(strtolower($text), strtolower(trim($stopword))); if ($pos !== false) $i++; } } if($i>0) { exit('вы нарушили правила добавления комментариев'); } А теперь давайте вкратце разберем его (только то, что необходимо знать) stopwords.
txt - это файл, в котором записаны стоп-слова каждый с новой строчки (регистр не важен).
Тут могут быть совершенно любые слова, включая маты и код ссылок.
Вот очень краткий список моего файла:
[url й *да ну и другие любые слова А вообще лучше исправлять защищаться о спамеров на берегу моря в Таиланде $text - в этой переменной хранится текст вашего комментария.
Именно с ним в нем мы будем искать стоп-слова exit('вы нарушили правила добавления комментариев'); - эта функция (а точнее не функция, но не важно) завершает загрузку страницы, если стоп-слова есть в комментарии.
Тут вы можете придумать что-нибудь свое, как вариант просто не добавлять его в базу и вывести обычное сообщение с ошибкой.
Вот и все, ничего сложного.
Зато позволит избежать на вашем сайте матов, ругательств, а так же ссылок в комментариях.
Только http:// не надо в стоп-слова заносить, т.
к.
некоторые юзеры могут захотеть поделиться полезной ссылкой, а не смогут.
Просто не делайте ее активной и все.