我有几个控制器。 HTTPS由webserver(ligttpd)本身重定向,但作为额外的安全检查,我希望PHP将特定控制器重定向到https。
Kohana是否包含检查网址是否在SSL上运行并在需要时重定向的函数?
答案 0 :(得分:0)
找到我自己的答案:)
创建一个名为URL的类:
class URL extends Kohana_URL
{
public static function SSL()
{
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "") {
$redirect = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header("Location: $redirect");
}
}
}
在控制器中调用它,如下所示:
URL::ssl();
请注意:仅使用上述方法是不安全的。您应该按服务器(Lighttpd / Nginx / Apache)重定向。