mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-04-04 06:35:40 -04:00
Temporarily remove scheme check in referer
If needed, we may re-introduce the check for scheme with proper support for proxy https://github.com/FreshRSS/FreshRSS/issues/565#issuecomment-61602425
This commit is contained in:
@@ -242,11 +242,14 @@ function is_referer_from_same_domain() {
|
||||
$host = parse_url(((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? 'https://' : 'http://') .
|
||||
(empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST']));
|
||||
$referer = parse_url($_SERVER['HTTP_REFERER']);
|
||||
if (empty($host['scheme']) || empty($referer['scheme']) || $host['scheme'] !== $referer['scheme'] ||
|
||||
empty($host['host']) || empty($referer['host']) || $host['host'] !== $referer['host']) {
|
||||
if (empty($host['host']) || empty($referer['host']) || $host['host'] !== $referer['host']) {
|
||||
return false;
|
||||
}
|
||||
return (isset($host['port']) ? $host['port'] : 0) === (isset($referer['port']) ? $referer['port'] : 0);
|
||||
//TODO: check 'scheme', taking into account the case of a proxy
|
||||
if ((isset($host['port']) ? $host['port'] : 0) !== (isset($referer['port']) ? $referer['port'] : 0)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user