安全站點和非安全站點的 URL 管理

2021-07-09 12:23:01 字數 2056 閱讀 3604

在本文中我將描述怎麼管理安全站點和非安全站點的 url 管理。

安全站點的內容使用httpsssl (安全套接字層) 協議傳送,而非安全站點使用http協議。為了描述簡單,我們稱前者https內容/頁,後者 'http' 內容/頁。乙個嚴格要求的**通常需要一些頁面使用https,一些頁面使用http。例如,為了防止密碼嗅探,我們的登入頁面使用https,而為了減輕伺服器壓力,對於不敏感的頁面(例如,主頁)我們使用http

當我們在https頁面是我們會需要生成http頁面 url,反之亦然。例如,乙個站點有乙個所有頁面都使用的主選單,主選單中包含有,https(例如;登入頁) 和http(例如:關於頁) 的鏈結。如果我們在乙個http頁面,我們可以直接鏈結到其他http頁面(例如: /about),但是我們不得不使用絕對url位址使用https協議鏈結到其他https頁面。同上如果我們在https頁面,我們也會遇到類似的情況。

另一種情況是我們使用http協議請求也安全頁面,我們應當將瀏覽器重定向到使用https協議,反之亦然。重定義通常為 301 永久重定向。這可能使用 web 伺服器的重寫規則實現。但是如果我們要細化安全和非安全的頁面,重寫規則可能會變得非常複雜。

為了實現上面的兩個需求,我們可以繼承 curlmanager, 如下

[php]

class urlmanager extends curlmanager

// 檢查當前協議是否是預期的協議

// 如果不是則需要在生成 url 時使用正確的主機資訊

$secureroute = $this->issecureroute($route);

return $secureroute ? $url : $this->hostinfo . $url;

} else

}public function parseurl($request)

}return $route;

}private $_securemap;

/*** @param string 需要檢查的 url 路由

* @return boolean 給出的 url 路由是否應該在 ssl 模式下

*/protected function issecureroute($route)

}$route = strtolower($route);

if (isset($this->_securemap[$route])) else

}}

現在,在應用程式的配置,我們應當使用我們的 url 管理器來取代預設。

[php]

return array(

// ....

'components' => array(

'urlmanager' => array(

'class' => 'urlmanager',

'urlformat' => 'path',

'hostinfo' => '',

'securehostinfo' => '',

'secureroutes' => array(

'site/login', // site/login action

'site/signup', // site/signup action

'settings', // all actions of settingscontroller

),),

),);

在上面的**中,我們配置了urlmanager登入、註冊和所有設定頁面為安全頁面。如果,你想新增其他頁面,只需向secureroutes陣列中新增相應內容。

英文原文

NGINX 主站點,虛擬站點,安全站點

簡介 nginx engine x 是俄羅斯人編寫的十分輕量級的http伺服器,是乙個高效能的http和反向 伺服器,同時也是一imap pop3 smtp 伺服器。官方 usr local nginx sbin nginx v 檢視安裝了那些模組 實驗準備 安裝常用工具 tab鍵 bash com...

Nginx下配置HTTPS(SSL)安全站點

一 準備證書 通常情況下 的ssl證書是由專門的ca機構 如verisign 頒發,同時需要交納一定數額的費用。可是對於平時開發測試或其他情況下,我們自己也可以充當ca來生成自己頒發的證書。當然與前者相比缺點很明顯 不能獲得各個瀏覽器的信任,會彈出警告提示。如 好訊息是,對安全性要求稍低的 現在可以...

安全維護 IIS asp 站點的高階技巧

一 前言 僅以此文感謝好友bigeagle。不是他,我可能不用這麼擔心win2000安全問題的。呵呵!人說,一朝被蛇咬,十年怕.就是這樣。2000年初,當我終於擺脫winnt 4.0 server那可怕的補 丁之旅,邁向win2000 server時。我終於可以比較放心我的伺服器了。但隨著sp1的補...