Php Laravel 5和Internet Explorer:令牌不匹配

Php Laravel 5和Internet Explorer:令牌不匹配,php,internet-explorer,laravel-5,csrf,csrf-protection,Php,Internet Explorer,Laravel 5,Csrf,Csrf Protection,我的Laravel5网站使用csrf令牌来防止csrf攻击。在Chrome和Firefox上,一切正常 我将网站提交给我的客户进行测试,当他使用Internet Explorer(9/10)时,他在使用令牌的每个页面上都有“令牌不匹配”错误 我认为这是一个cookie/会话问题 经过一些研究,我尝试删除cookie名称中的斜杠(“laravel_会话”),并更改会话驱动程序(“默认情况下为文件”)。这没用 我知道我的客户可以在IE中更改其“信任策略”,但这是一个公共站点,这只是一个临时解决方案

我的Laravel5网站使用csrf令牌来防止csrf攻击。在Chrome和Firefox上,一切正常

我将网站提交给我的客户进行测试,当他使用Internet Explorer(9/10)时,他在使用令牌的每个页面上都有“令牌不匹配”错误

我认为这是一个cookie/会话问题

经过一些研究,我尝试删除cookie名称中的斜杠(“laravel_会话”),并更改会话驱动程序(“默认情况下为文件”)。这没用

我知道我的客户可以在IE中更改其“信任策略”,但这是一个公共站点,这只是一个临时解决方案


对那个奇怪的问题有什么想法吗?

我不确定你的情况。但我今天遇到了同样的问题。只有我有问题。FF和铬合金都很好

然后我意识到服务器上的时间/日期是错误的。将服务器设置为当前日期,然后一切都正常工作

我猜这是因为服务器会根据自己的时间设置cookie过期时间,在客户端,如果服务器落后,IE会立即删除cookie。只是我的猜测


希望它也能解决你的问题。祝你好运。

我也遇到了同样的问题,解决的办法是将我的.htaccess过期设置编辑为:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A0
    ExpiresByType text/html A0
    # Set up caching on media files for 1 year
    <FilesMatch "\.(jpg|png|gif|js|css|ico|woff|woff2|eot|svg|ttf)$">
        ExpiresDefault A31536000
    </FilesMatch>
</IfModule>

过期于
到期默认A0
ExpiresByType文本/html A0
#在媒体文件上设置缓存1年
到期默认A31536000

在此之前,我的ExpiresDefault是A31536000,我没有ExpiresByType文本/html。

我面临同样的问题,这是由于P3P错误。在边缘(Windows 10)上面对问题

我做了很多研究,最后把它修好了

您所要做的就是创建一个新的中间件并使用handle函数

public function handle($request, Closure $next)
{
    $response = $next($request);
    $response->header('P3P', 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
    return $response;
}
详细解释在


在我的例子中,问题是服务器时间。 我在某个地方读到,如果服务器的时间比客户端的时间长(即清除cookies)。 然后我注意到这里的服务器时间晚了8个小时。
修复此问题后,令牌不匹配错误消失。

我在一家公司工作,一些用户从8-11开始使用IE进行浏览,我也有同样的问题。我使用Laravel 5启动了一个HR应用程序,启动后我检查了日志,发现到处都是“令牌不匹配”错误@user534498的回答是一个很好的开始,这是我没有考虑过的,但希望对这个问题有更多的解释,因为我甚至不知道从哪里开始寻找其根本原因。这并没有提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论。出于某种原因,我也不会这样做