From 75f1989c762bc46a7e24a09e3ccf9905f8dac913 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Mon, 31 Mar 2014 21:35:42 +0000 Subject: [PATCH] Forward pingback IP during pingback verification. Merges [27872] to the 3.7 branch. props tellyworth, nacin. fixes #27613. git-svn-id: https://develop.svn.wordpress.org/branches/3.7@27878 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/class-wp-xmlrpc-server.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wp-includes/class-wp-xmlrpc-server.php b/src/wp-includes/class-wp-xmlrpc-server.php index d3ebdb8bb3..5b5081193f 100644 --- a/src/wp-includes/class-wp-xmlrpc-server.php +++ b/src/wp-includes/class-wp-xmlrpc-server.php @@ -5391,11 +5391,18 @@ class wp_xmlrpc_server extends IXR_Server { // very stupid, but gives time to the 'from' server to publish ! sleep(1); + $remote_ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] ); + $user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . $GLOBALS['wp_version'] . '; ' . get_bloginfo( 'url' ) ); + // Let's check the remote site $http_api_args = array( 'timeout' => 10, 'redirection' => 0, 'limit_response_size' => 153600, // 150 KB + 'user-agent' => "$user_agent; verifying pingback from $remote_ip", + 'headers' => array( + 'X-Pingback-Forwarded-For' => $remote_ip, + ), ); $linea = wp_remote_retrieve_body( wp_safe_remote_get( $pagelinkedfrom, $http_api_args ) );