2013-02-13 72 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)。