Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как защитить сайт от спама?

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


     04.04.2014    Все вопросы » Общие вопросы    2546

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

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


5 комментариев

zaart
Юзер

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

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

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

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

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

rocksmart
Юзер

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

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

Timkab
Юзер

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

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

rocksmart
Юзер

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
PHP-developer

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;
    }
}
+ можно изменить страницу регистрации

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

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

наверх