我有几个控制器。HTTPS 由网络服务器 (ligttpd) 本身重定向,但作为额外的安全检查,我希望 PHP 将特定控制器重定向到 https。
Kohana 是否包含检查 url 是否在 SSL 上运行并在需要时重定向它的功能?
我有几个控制器。HTTPS 由网络服务器 (ligttpd) 本身重定向,但作为额外的安全检查,我希望 PHP 将特定控制器重定向到 https。
Kohana 是否包含检查 url 是否在 SSL 上运行并在需要时重定向它的功能?
找到我自己的答案:)
创建一个名为 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)重定向。