Laravel Request :: secure()函数返回false

时间:2015-07-08 13:47:59

标签: laravel ssl

我正在使用Laravel 4.2,而我正在使用Cloudflare的灵活SSL。

我在filters.php上有这段代码,例如:

App::before(function($request)
{
    if (Request::secure())
        return 'False';
});

当我尝试在我的安全服务器上运行它时,我得到False响应。 我在这里做错了吗?

2 个答案:

答案 0 :(得分:0)

secure()函数返回false的原因是因为该网站并没有真正拥有SSL证书,CloudFlare具有。因此,当客户端连接到站点时,实际连接到CloudFlare(SSL)和CloudFlare将连接到站点(非SSL)。总而言之,CloudFlare与本网站之间的请求不受保护。

答案 1 :(得分:0)

  

我在这里做错了吗?

是。你要返回一个字符串而不是一个布尔值。试试这个:

App::before(function($request)
{
    if (Request::secure())
        return false;
});
但是,我不确定你想要实现的目标是什么?如果要通过SSL强制执行访问,请重定向到HTTPS版本。返回false只会给用户一个空白页。