update for CORS origin detection
This commit is contained in:
parent
6a95f7cbe9
commit
b9685072a6
@ -22,11 +22,16 @@ $METHOD = $_SERVER['REQUEST_METHOD'];
|
|||||||
$REQ = [];
|
$REQ = [];
|
||||||
|
|
||||||
$origin = isset($HEADERS['Origin']) ? $HEADERS['Origin'] : (isset($HEADERS['origin']) ? $HEADERS['origin'] : preg_replace(["/([^A-z.]+)/"], [""], isset($HEADERS['Host']) ? $HEADERS['Host'] : $HEADERS['host']));
|
$origin = isset($HEADERS['Origin']) ? $HEADERS['Origin'] : (isset($HEADERS['origin']) ? $HEADERS['origin'] : preg_replace(["/([^A-z.]+)/"], [""], isset($HEADERS['Host']) ? $HEADERS['Host'] : $HEADERS['host']));
|
||||||
if($origin == "")
|
$origin_cleaned = parse_url($origin)['host'];
|
||||||
|
|
||||||
|
if($origin_cleaned == "")
|
||||||
{
|
{
|
||||||
foreach(ORIGINS as $ORIGIN)
|
foreach(ORIGINS as $ORIGIN)
|
||||||
{
|
{
|
||||||
if(strpos($HEADERS['referer'], $ORIGIN) !== FALSE)
|
$referer = $HEADERS['referer'];
|
||||||
|
$referer_cleaned = parse_url($referer)['host'];
|
||||||
|
|
||||||
|
if(strpos($referer_cleaned, $ORIGIN) !== FALSE)
|
||||||
{
|
{
|
||||||
$origin = $ORIGIN;
|
$origin = $ORIGIN;
|
||||||
break;
|
break;
|
||||||
@ -34,7 +39,7 @@ if($origin == "")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(in_array($origin, ORIGINS))
|
if(in_array($origin_cleaned, ORIGINS))
|
||||||
{
|
{
|
||||||
header('Access-Control-Allow-Origin: ' . $origin);
|
header('Access-Control-Allow-Origin: ' . $origin);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user