TCSE

Защищаем движок Dle от спам ссылок

И так, давайте сразу приготовим все, что нам нужно, так сказать "ящик инструментов", в этот ящик мы положим:

1. Notepad++, это отличный, бесплатный блокнот с подсветкой синтаксиса: http://notepad-plus.sourceforge.net/
2. Любой FTP менеджер, например: http://filezilla-project.org

Если вы редактируете файлы локально, то есть у себя на компьютере то, FTP менеджер вам не понадобится.

Перейдите с помощью FTP менеджера в корень вашего сайта, у вас там должны находиться следующие директории:

backupenginelanguagetemplatesupgrade...


Теперь перейдите в директорию engineclasses и откройте файл parse.class.php. Здесь есть тонкость, можно открыть внутренним редактором, а можно внешним. Если файл открылся внутренним, то есть блокнотом то, скопируйте код в наш Notepad++ и сделайте следующее: В меню "Язык" установите "PHP". Все, теперь у вас красиво подсвеченный код, в котором вам будет намного проще разобраться. Найдите с помощью быстрой комбинации Ctrl + F текст:

return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];


Примерно 550 строка. Как вы видите, именно так мы получаем ссылку с BB кода [ URL ], нам стоит задача немного изменить его. Для этого заменяем данный код на следующий:

// Добавим проверку наших ссылок и ссылок на сторонние ресурсы if($this->check_home($url['html']))       {        return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];       }       else       {       $url['html'] = $config['http_home_url']."go/?". $url['html'];       return "<noindex><a rel="nofollow" href="".$url['html']."" ".$target.">".$show."</a></noindex>" . $url['end'];       }


Теперь сохраните изменённый файл parse.class.php на вашем сервере.

Для тех, кто не понял, что делает данный код, объясняю. Ссылки на ваш сайт, будут обрабатываться как "обычная ссылка", то есть не каких noindex или rel="nofollof". Так же обратите на приставку go/?, это на данный момент самое красивое и правильное решения редиректа. Далее сделаем сам редирект, для этого создайте в корне сайта директорию "go" и поместите файл index.php содержащий в себе следующий код:

<?phpif (!empty($_SERVER['QUERY_STRING'])){$re_addr=$_SERVER['QUERY_STRING'];header('Location: '.$re_addr);}?>


Это ещё не всё, как понимаете ничто не стабильно, так же как и ваш веб сервер, давайте создадим правило для веб сервера, для того что бы он правильно обрабатывал наш индексный файл (index.php). Нам потребуется создать в директории "go" файл .htaccess со следующими директивами:

DirectoryIndex index.phpRewriteEngine Off


Вот и всё, теперь ваши пользователи смогут размещать ссылки на ваш ресурс, либо на полезные ресурсы или даже спам ссылки, но при этом вы не потеряете вес страниц, а точнее их тИЦ и ПР. Всего за 10 минут вы смогли устранить появление внешних ссылок с вашего ресурса! Так же изучите Защищаем движок Dle от спам ссылок (дополнение), думаю многим будет полезно.