Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как защитить сайт от спама?

Как защитить сайт от спама?


     04.04.2014    Общие вопросы    1327

вопрос
Всем привет. Не заходил на свой сайт 2 дня, сейчас зашел, около 300 спамов - комментов. Как предотвротить эти спамы впредь, что бы не сидеть удалять их по одному. И как сделать так, что бы в комментах вообще ссылки не добавлялись? Только текст и смайлы и только! ))

Ответа пока нет


Комментарии пользователей (5)

zaart
7 | 1

zaart - 4 апреля 2014 17:42 - Юзер

Тоже хотел задать вопрос по спаму...

У меня нет спама, та как пол двига перефигачено и они просто не могут зарегаться по сценарию!

Но их очень много прям капец и от этого нагрузка большая, за день может достигать 10000 попыток обращения с китая и укр...

От полной Пи@@ы, меня спасает перепиленый двиг, cloudflare, но может кто еще знает способы?

rocksmart
64

307 | 115

rocksmart - 4 апреля 2014 18:03 - Юзер

Спам автоматический или пользователи сами спамят?

Timkab
40 | 2

Timkab - 4 апреля 2014 18:05 - Юзер

Я Даже не знаю, скорее всего автомотический, так как на английском пишут х.йню какую. Какие то странные пользователи регаются каждый день, как от них избавиться?

rocksmart
64

307 | 115

rocksmart - 4 апреля 2014 18:39 - Юзер

Один из вариантов:

Не знаю зачем, но в dle до сих пор сохранена отправка комментария при отключенном js . Убираем возможность размещения комментов если js отключен - это позволит защититься от автоспама.

Открываем файл engine/modules/addcomments.php

После строки:

$stop = array ();


Вставить

/* Будьте внимательны сервер может не предоставлять данные о $_SERVER['HTTP_X_REQUESTED_WITH'] */
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
$stop[] = 'У вас отключен javascript или комментарий является спамом';
$CN_HALT = TRUE;
}


Работу можно проверить самому отключив js в вашем браузере и попробывать разместить коммент.

Будьте внимательны сервер может не предоставлять данные о $_SERVER['HTTP_X_REQUESTED_WITH']

vitnet
218

2172 | 930

vitnet - 5 апреля 2014 11:45 - Эксперт

Запрет ссылок
engine/modules/addcomments.php найти
if( preg_match( "/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $name ) ) {
    $stop[]  = $lang['reg_err_4'];
    $CN_HALT = TRUE;
}
добавить выше
if( $member_id['user_group'] > 3) {
    if (preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org|\.ua/i", $_POST['comments'])) {
        $stop[]  = "Извините, публиковать ссылки в комментариях запрещено!<br /><hr>Sorry, post links in the comments is forbidden!";
        $CN_HALT = TRUE;
    }
}
+ можно изменить страницу регистрации

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы