Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel在应用程序网关后面运行时的奇怪行为(错误403)_Php_Laravel_Azure - Fatal编程技术网

Php Laravel在应用程序网关后面运行时的奇怪行为(错误403)

Php Laravel在应用程序网关后面运行时的奇怪行为(错误403),php,laravel,azure,Php,Laravel,Azure,我有一个应用程序运行在Azure application Gateway后面,正常访问站点时一切正常,但在空闲大约5分钟后,我开始出现错误403,除非我删除会话cookie,否则它不会消失 目前我陷入困境,想知道是什么导致了这一切,如果你有任何线索,请告诉我 我在index.php的开头有这个 /** * Fix host standing behind proxy * And fix http schema */ if (isset($_SERVER['HTTP_X_ORIGINAL

我有一个应用程序运行在Azure application Gateway后面,正常访问站点时一切正常,但在空闲大约5分钟后,我开始出现错误403,除非我删除会话cookie,否则它不会消失

目前我陷入困境,想知道是什么导致了这一切,如果你有任何线索,请告诉我

我在index.php的开头有这个

/**
 * Fix host standing behind proxy
 * And fix http schema  
 */
if (isset($_SERVER['HTTP_X_ORIGINAL_HOST'])) {
    $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_ORIGINAL_HOST'];
}
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])){
    $_SERVER['REQUEST_SCHEME'] = $_SERVER['HTTP_X_FORWARDED_PROTO'];
}
public function boot(UrlGenerator $url)
{
    $Host = $_SERVER['HTTP_HOST'];
    if (env('APP_ENV') !== 'local' && $Host!=='10.166.4.4') {
        $url->forceScheme('https');
    }

}
这是在AppServiceProvider.php上发布的

/**
 * Fix host standing behind proxy
 * And fix http schema  
 */
if (isset($_SERVER['HTTP_X_ORIGINAL_HOST'])) {
    $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_ORIGINAL_HOST'];
}
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])){
    $_SERVER['REQUEST_SCHEME'] = $_SERVER['HTTP_X_FORWARDED_PROTO'];
}
public function boot(UrlGenerator $url)
{
    $Host = $_SERVER['HTTP_HOST'];
    if (env('APP_ENV') !== 'local' && $Host!=='10.166.4.4') {
        $url->forceScheme('https');
    }

}

我发现了原因,我在Azure Web application Firewall后面运行我的应用程序,有时Laravel会生成一个包含类似V0x2bFB的会话cookie,防火墙将此视为尝试sql注入,并将阻止请求

有关更多详细信息,请参阅此问题


我发现了原因,我正在Azure Web application Firewall后面运行我的应用程序,有时Laravel会生成一个包含类似V0x2bFB的会话cookie,防火墙将其视为尝试sql注入,并将阻止请求

有关更多详细信息,请参阅此问题