Ticket #20507: 20507.5.diff
File 20507.5.diff, 2.0 KB (added by , 13 years ago) |
---|
-
wp-includes/class-wp-customize.php
71 71 if ( ! isset( $_REQUEST['customize'] ) || 'on' != $_REQUEST['customize'] ) 72 72 return; 73 73 74 $url = parse_url( admin_url() ); 75 $allowed_origins = array( 'http://' . $url[ 'host' ], 'https://' . $url[ 'host' ] ); 76 // @todo preserve port? 77 if ( isset( $_SERVER[ 'HTTP_ORIGIN' ] ) && in_array( $_SERVER[ 'HTTP_ORIGIN' ], $allowed_origins ) ) { 78 $origin = $_SERVER[ 'HTTP_ORIGIN' ]; 79 } else { 74 if ( ! $origin = get_allowed_http_origin() ) { 75 // @todo Maybe kill this fallback since fallbacks aren't to spec. 76 $url = parse_url( admin_url() ); 80 77 $origin = $url[ 'scheme' ] . '://' . $url[ 'host' ]; 81 78 } 82 79 -
wp-includes/http.php
222 222 223 223 return (bool) $objFetchSite->_get_first_available_transport( $capabilities ); 224 224 } 225 226 function get_http_origin() { 227 $origin = ''; 228 if ( ! empty ( $_SERVER[ 'HTTP_ORIGIN' ] ) ) 229 $origin = $_SERVER[ 'HTTP_ORIGIN' ]; 230 231 return apply_filters( 'http_origin', $origin ); 232 } 233 234 function get_allowed_http_origins() { 235 $admin_origin = parse_url( admin_url() ); 236 $home_origin = parse_url( home_url() ); 237 238 // @todo preserve port? 239 $allowed_origins = array( 240 'http://' . $admin_origin[ 'host' ], 241 'https://' . $admin_origin[ 'host' ], 242 'http://' . $home_origin[ 'host' ], 243 'https://' . $home_origin[ 'host' ], 244 ); 245 246 return apply_filters( 'allowed_http_origins' , $allowed_origins ); 247 } 248 249 function get_allowed_http_origin() { 250 $origin = get_http_origin(); 251 252 if ( $origin && ! in_array( $origin, get_allowed_http_origins() ) ) 253 $origin = ''; 254 255 return apply_filters( 'allowed_http_origin', $origin ); 256 } 257 No newline at end of file