General: Ignore invalid types for the '_wp_http_referer' URL query variable.

It's expected that this query variable contains a string when it's set, but it's possible for its type to be something else such as an array. Ignoring non-string values prevents cascading errors when its value is passed through functions that expect a string.

Props xknown, costdev, jrf, azaozz

Fixes #57670


git-svn-id: https://develop.svn.wordpress.org/trunk@56115 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn
2023-06-29 23:25:38 +00:00
parent d48301e572
commit be90d79cb5
2 changed files with 12 additions and 2 deletions
@@ -156,4 +156,12 @@ class Tests_Functions_Referer extends WP_UnitTestCase {
$_REQUEST['_wp_http_referer'] = addslashes( 'http://foo.bar/baz' );
$this->assertSame( 'http://foo.bar/baz', wp_get_raw_referer() );
}
/**
* @ticket 57670
*/
public function test_raw_referer_is_false_on_invalid_request_parameter() {
$_REQUEST['_wp_http_referer'] = array( 'demo' );
$this->assertFalse( wp_get_raw_referer() );
}
}