• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

[Хак] Защищаемся от спам-комментариев

Статус
В этой теме нельзя размещать новые ответы.

ewg777

Мой дом здесь!
Регистрация
6 Авг 2007
Сообщения
764
Реакции
334
Защищаемся от спам-комментариев
В последнее время заметил, что приходят комментарии выстроеные следующим образом: пишут текст (например, "Спасибо!"), делают к каждой букве ссылку на разные сайты и меняют цвет на белый (цвет фона), потом выравнивают по правому краю и этот текст становится фактически не отображаемым.

Как же с этим бороться?

А очень просто! Сейчас мы сделаем так, чтоб ссылки попадали в noindex и nofollow (кроме ссылок с под/домена сайта).

Открываем "/engine/modules/addcomments.php" и ищем:

PHP:
    if ($config['allow_comments_wysiwyg'] != "yes")
        $comments = $db->safesql($parse->BB_Parse($parse->process($_POST['comments']), false));
    else{
        $parse->wysiwyg = true;
        $parse->ParseFilter(Array('div', 'a', 'span', 'p', 'br'), Array(), 0, 1);
        $comments = $db->safesql($parse->BB_Parse($parse->process($_POST['comments'])));
    }

    $comments    = word_filter($comments);


После этого вставляем:


PHP:
function preg_link($a1, $a2, $a3) {
global $is_logged, $config;
    $a1 = str_replace(array('"', "'"), '', $a1);
    $a2 = stripslashes(trim($a2));
    $a2 = ($a2 != '') ? ' ' . $a2 : '';

/*########
Небольшая фича: если хотите, чтоб ссылки от зарегистрированных пользователей не попадали под ноуиндекс и ноуфоллоу, то стерите начальный комментарий "//#", но текст после их не трогайте!
########*/
    
//#    if (!$is_logged) {
    
        $home = str_replace(array('http://', 'www.'), '', $config['http_home_url']);
        $home = substr($home, 0, strpos($home, '/'));
        
        if (stristr($a1, $home) === false) {
            return '<noindex><a href="' . $a1 . '"' . $a2 . ' rel="nofollow">' . $a3 . '</a></noindex>';
        } else {
            return '<a href="' . $a1 . '"' . $a2 . '>' . $a3 . '</a>';
        }
//#    } else {
//#        return '<a href="' . $a1 . '"' . $a2 . '>' . $a3 . '</a>';
//#    }
}
    
function clear_hrefs($string) {
    return preg_replace('#<a.*href="(.*)"([^>]*)>(.*)</a>#iUes', "preg_link('$1', '$2', '$3')", stripslashes($string));
}
    
    $comments = addslashes(clear_hrefs($comments));

Возможно, в новых версиях что-то подобное уже проделано.
По материалу сайта 4dle.ru
 
бороться ещё проще, запрещаешь гостям и посетителям использование кликабельных ссылок и всё - проблемы нет
версия 7.0 решила её раз и навсегда
 
Нет увы ты не прав мой друг да активная линка Бьет по рейту сильтее но пасивная говорит о цетировании что тоже идет в + цетируемогу сайу и в - твоему большая накрутка линков

Но индекс но фалов будет хорош конечно но не стоит забывать о том что данный скрипт не применяет его к обыному текту что былобы тоже весьма хорошо чтобы щатить цетируемые сайта от просмотра роботами

Данный хак позволяет дать роботу понять что "***ду* вася тут тебе ловить не чего не твоя територия, конечно под тИЦ не поподет, но черт кто сказал что все роботы слушаются правил?

Лучше действительно зделать так чтобы все ссылки были пасивными и влияи только на индекс цетирования илиже просто настроить мощьный редерект лутчше 2ух уровневый через фрейм при том что на каждом из уровней поменить но индек но фалов в нужных местах, что мы от этого получим? Не читаемые страницы поисковиками страница второго уровня тупой фрейм тоесть сайта врага в вашем окошке, а фреймы частенько игнорируются поисковиками, хоть и посчитаетет что это задротсво зато грамотно и красиво, идея с лунки взята =)
 
А меня последнее время замучили комментарии с кликабельными смайликами. Под смайлики ссылки прячут.
 
дык обновитесь на 7.0 - поставьте галку в настройке группы - запреить ссылки в коментах и все. спи спокойно.

нафига велосипеды изобретать?
 
дык обновитесь на 7.0 - поставьте галку в настройке группы - запреить ссылки в коментах и все. спи спокойно.

нафига велосипеды изобретать?

Хаки стоят, которые не подогнанны ещё под эту вресию. Надо для 6.5
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху