Фильтровать спам в потоках BB
Целью спама является отображение ключевых слов и это их слабое место: запрещая размещать эти слова, не связанные с темой форума (спам по определению), мы легко прекращаем их неприятности .
Спамеры используют свободный доступ к форумам для размещения ссылок на сайты, продающие или претендующие на продажу товаров, как правило, для взрослых.
Даже если ссылки запрещены, по крайней мере, для новых подписчиков, вы понимаете, что они продолжают добавлять спамы, вероятно, в надежде, что Google проиндексирует свой профиль и URL-адрес своего сайта.
FluxBB, который является очень минимальной и легкой системой (это может быть причиной ее использования) и не обеспечивает защиту от спама. Кроме блокировки IP-адреса, который не блокирует прокси. Поэтому мы должны принять собственные меры.
Изменение файла robots.txt
Запретить роботам парсить профили, чтобы он не связывал нежелательные сайты с форумом:
User-agent: *
Disallow:/forum/profile.php
Предполагается, что flowBB устанавливается в директорию форума, иначе будет указано соответствующее имя каталога.
Можно также запретить использование различных файлов, индексирование которых не требуется.
Добавить фильтр к отправленному содержимому
Для этого мы создадим файл «filter.php», содержащий различные фильтры и который будет включен в файл post.php.
Этот фильтр вставляется перед отправкой сообщения пользователем, поэтому перед строкой:
$now = time();
И это дает:
include("filter.php"); $now = time();
Выбрать пользователей
Фильтр должен применяться к новым пользователям, поэтому не получил ответа от уполномоченного участника на предыдущее сообщение.
В таблице users используются столбцы username и num_posts, а в таблице last_post столбцы id, edited_by возвращает на таблицу users.
Полный доступ к администратору
Администратор также не должен иметь возможности делать все на сайте:
if(! is_admmod) { include("filter.php"); }
Запретить просмотр изображений
Она может быть крайне нежелательной.
if(stristr($message, "<img") !== false)
{
die('Images forbidden');
}
Запретить ссылки
if(stristr($message, "http://") !== false)
{
die('Links forbidden to new users');
}
Запретить русские символы
Если, конечно, на форуме не допускаются сообщения на русском языке.
if(stristr($message, "ð") ||
stristr($message, "ä") ||
stristr($message, "ë") ||
stristr($message, "ã") ||
stristr($message, "Ñ") ||
stristr($message, "ñ"))
{
die('English only forum');
}
Запретить некоторые ключевые слова
if(stristr($message, "mot-clé-interdit") !== false)
{
die('Spam detected');
}