我正在使用Laravel 4.2,而我正在使用Cloudflare的灵活SSL。
我在filters.php
上有这段代码,例如:
App::before(function($request)
{
if (Request::secure())
return 'False';
});
当我尝试在我的安全服务器上运行它时,我得到False
响应。
我在这里做错了吗?
答案 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
只会给用户一个空白页。