Авто защита Datalife Engine от внешних ссылок

Этот первоочередной хак должен юзать любой вебмастер перед тем как выпустить свой сайт в мир. Конечно есть подобные хаки и модули но суть этих хаков и модулей одна это защита своего сайта от нежелательных ссылок. После установки и этого хака ваш сайт будет защищен от ссылок которые ведут на другие сайты, файлообменников а так же от различных спамеров в комментариях которые передают ТИЦ и PR другим сайтам.
Автор хака: Seomax
И так начнем:
Убедительно прошу, перед редактированием файлов движка DLE, сделайте резервные копии редактируемых файлов! Так же, я упускаю все предыдущие статьи, и все файлы мы будем создавать заново, так что приготовьте оригинальные файлы, что бы ни напортить чего либо.
Для редактирования и написания некоторых файлов я взял лучший текстовый редактор – Notepad++, советую использовать и вам его. Для начала зайдите на свой FTP или через панель администратора хостинга, как вам удобнее. Находим в каталоге engine/classes/ файл parse.class.php, открываем его нашим редактором найдите следующую строчку кода:
if ($this->filter_mode) $txt = $this->word_filter($txt, false);После него аккуратно копируем и вставляем код приведенный ниже:
/*
Назначение: Раскодировка сформированного URL-адреса
Автор: www.seomax.info
*/
$txt = preg_replace( "#<!--FFriend--><noindex><a rel=\"nofollow\" href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].+?".">(.+?)</a></noindex><!--EndFFriend-->#ie" , "\$this->decode_friend('\\1\\2', '\\3')", $txt );Продвигаемся далее по коду и находим такой код:
return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];Удаляем его и вместо него пишем следующий (если копируете, то копируйте внимательно!) код:
/*
Назначение: Формирование URL-адреса
Автор: www.seomax.info
*/
if($this->check_home($url['html'])||$this->check_friends($url['html']))
{
return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];
}
else
{
$url['html'] = $config['http_home_url']."go/?".($url['html']);
return "<!--FFriend--><noindex><a rel=\"nofollow\" href=\"".$url['html']."\" ".$target.">".$show."</a></noindex><!--EndFFriend-->" . $url['end'];
}Продвигаемся далее по коду и находим следующий код:
function word_filter($source, $encode = true) {Выше этого кода пишем следующий код:
/*
Функция: "Дружественный URL"
Автор: www.seomax.info
*/
function check_friends ($url)
{
global $config;
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");
for ($i = 0; $i < count($friend_url); $i++)
{
$value = str_replace("http://", "", trim($friend_url[$i]));
$value = str_replace("www.", "", $value);
$value = explode('/', $value);
$value = reset($value);
if ($value == "" ) continue;
if (strpos($url, $value) === false) continue; else return true;
}
return false;
}И последний шаг для редактрирования этого файла. Найдите код:
return "".$show."";
}Ниже пишем следующий код (аккуратно копируйте, не пропустите строки, символы):
/*
Функция: Раскодировка сформированного URL-адреса
Автор: www.seomax.info
*/
function decode_friend($url="", $show="")
{
global $config;
$home_url = $config['http_home_url']."go/?";
$url = str_replace($home_url, "", $url);
$url = explode ("url=", $url);
$url = end ( $url );
$url = rawurldecode($url);
return "".$show."";
}Все, сохраняйте файл parse.class.php, но не спешите закрывать FTP менеджер, он еще нам нужен. Перейдите в каталог engine и создайте папку friend. В нее нужно добавить файл friend_url.txt, структура этого "текстового" файла простая - список URL-адресов дружественных сайтов. Не забудьте добавить права на чтение нашей папки и файла с URL. Смотрите пример:
http://dleshka.org/
http://forum.dleshka.org/Список составляете так как я вам привел в примере. Обратите внимание на то, что все URL нужно указывать с http:// в начале и / в конце. Думаю вы сохранили уже этот список в каталог engine/friend/ с именем friend_url.txt и мы можем продолжать дальше. А дальше нам нужно перейти в корень сайта и создать в нем папку go. Теперь с помощью нашего Notepad++ сделайте файл index.php со следующим кодом:
<?php
$url = trim($_SERVER['QUERY_STRING']);
if(!empty($url)){
@header('Location: ' . $url);
}
?>Теперь поместите этот файл в каталог go который мы только что создали. Так же, так как хостингов очень много, и практически у каждого свои настройки Apache и так далее, бывает что не определяется файл как индексный. Давайте это исправим, создайте файл .htaccess с текстом внутри:
DirectoryIndex index.php
RewriteEngine OffПосле этих действий можно тестировать наши наработки. Еще что бы я посоветовал, для особо мнительных :) в robots.txt закройте индексацию каталога go. Все, я думаю это финальная версия этого хака, хотя была идея (может быть когда-то) создать еще возможность добавления URL-адресов дружественных сайтов из панели администратора, но думаю это не важно, да и вообще - не нужно.
Хак 100% рабочий на версиях DLE 7x-8x. DLE 9.0 хак не проверялся но есть такое чувство что и на девятке заработает.
1 114
Рейтинг:
Похожие публикации
Партнёрские программы
Смотреть все1WIN ПАРТНЕРКА
1 402
Партнерские программы / Гемблинг партнерки
BroPush - партнёрская программа для монетизации и заработке на сайтах
1 309
Партнерские программы / PUSH партнерки
Партнерская программа Семяныча - Лучшая партнерка по CPA и CPC моделям
913
Партнерские программы / Способы заработка
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров
794
Арбитраж трафика / Партнерские программы / PUSH партнерки
Магазин
Смотреть всеКупить
Бот для продажи VPN 3X-UI для Telegram
Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...
Купить
Мониторинг хайп проектов на движке DLE
В данном скрипте есть возможность включить функцию чтобы пользователи сами...
Купить
Скрипт казино с 5 классическими играми.
Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...
Купить
Customer WishList / Избранные товары покупателей
Данный модуль позволяет просматривать избранные товары пользователей. Есть...
Купить
Меняем заголовок и favicon
Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....






