Skip to content

Instantly share code, notes, and snippets.

@coenjacobs
Created January 29, 2015 09:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coenjacobs/7dc5df45630e69651118 to your computer and use it in GitHub Desktop.
Save coenjacobs/7dc5df45630e69651118 to your computer and use it in GitHub Desktop.
There are use cases where I would agree with not allowing requests to a local host and yes there is a filter... but this took SO LONG to find. Maybe the error message should inform you of when this happens, because now it just says "A valid URL was not provided". Code in WordPress core: https://github.com/WordPress/WordPress/blob/994b57a1902592d…
if ( $ip ) {
$parts = array_map( 'intval', explode( '.', $ip ) );
if ( 127 === $parts[0] || 10 === $parts[0]
|| ( 172 === $parts[0] && 16 <= $parts[1] && 31 >= $parts[1] )
|| ( 192 === $parts[0] && 168 === $parts[1] )
) {
// If host appears local, reject unless specifically allowed.
/**
* Check if HTTP request is external or not.
*
* Allows to change and allow external requests for the HTTP request.
*
* @since 3.6.0
*
* @param bool false Whether HTTP request is external or not.
* @param string $host IP of the requested host.
* @param string $url URL of the requested host.
*/
if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment