2013-02-13 44 views
1

我有几个控制器。 HTTPS由webserver(ligttpd)本身重定向,但作为额外的安全检查,我希望PHP将特定控制器重定向到https。Kohana 3.3强制控制器中的SSL

Kohana是否包含一个函数来检查url是否在SSL上运行并在需要时重定向它?

回答

0

发现我自己的答案:)

使一个类叫做网址:

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)。