【问题标题】:Token Mismatch issue in IFrame in Internet Explorer. Laravel 5.2Internet Explorer 中 IFrame 中的令牌不匹配问题。拉拉维尔 5.2
【发布时间】:2016-01-01 04:44:09
【问题描述】:

有什么问题?

在 Internet Explorer 的 IFrame 中访问网站时,我遇到了令牌不匹配问题。


到目前为止我尝试了什么?

I search for the resolution and found this link

下面是我在上面链接中找到的代码

App::after(function ($request,$response){
    if($request->is('external/*')){
        // IE iframe cookie fix
        $response->header('P3P', 
                  'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
    }
});

有什么问题?

我应该在 Laravel 5.2 哪里写上面的代码?

【问题讨论】:

    标签: laravel-5 laravel-5.1 laravel-5.2 laravel-middleware laravel-response


    【解决方案1】:

    假设您为路由使用 web 组中间件,您应该创建 after middleware 并将此中间件添加到 web 中间件。

    示例中间件:

    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    
    class FixIeFrameMiddleware
    {
        public function handle($request, Closure $next)
        {
            $response = $next($request);
    
            if($request->is('external/*')){
                // IE iframe cookie fix
                $response->header('P3P', 
                          'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
            }
    
            return $response;
        }
    }
    

    现在在app/Http/Kernel.php$middlewareGroups 属性的web 组中,您应该添加新的数组元素:

     \App\Http\Middleware\FixIeFrameMiddleware::class,
    

    【讨论】:

    • @Helper 你和PankajGarg有同样的问题吗?
    • 嗨,不幸的是,这不是 woking。 :)
    • 究竟是什么?这个中间件完全执行了吗?你提供的方法我没有验证,我只是展示了如何创建这个中间件
    • 如果我在 Chrome 中的 iframe 下运行该站点,我没有问题。当我在 Internet Explorer 的 IFrame 中运行该网站时出现问题。
    • 是的,我明白了,但是您是否验证过这个中间件是否已经运行?这就是问题 - 如何创建这个中间件 :)
    猜你喜欢
    • 2017-10-06
    • 1970-01-01
    • 2016-07-30
    • 2015-09-03
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多