2011-12-12 152 views
3

我有一個用戶必須登錄的網站。我想要使​​用HTTPS,因此請與服務器建立安全的加密連接以檢查用戶名和密碼。使用HTTPS而不是HTTP

目前在我的服務器上我有一個名爲httpdocs的文件夾,這是我的網站存儲的地方,我也有一個名爲httpsdocs的文件夾。現在

正如我所說我的網站被儲存於httpdocs所以邏輯上我會去http://website.com

但我發現,如果我去https://website.com我得到一個安全的連接到存儲於httpdocs頁面。

無論如何,我的問題是,每當我去另一個鏈接我鬆開安全連接(URL返回到http://)那麼我如何保持它的一切安全?我將不得不在href中使用完整的URL,因爲這似乎有點跛腳而不是使用href = page2.php。

我是新的網站開發領域,但我有經驗的開發,如果這可以幫助你。

非常感謝幫助。

如果有人知道什麼是好的,一些基本的教程或閱讀材料會很棒嗎?

再次感謝。

+1

您可能正在使用絕對網址或在您的網站中使用變量(無論寫入哪種語言),該變量都包含您網站的「基本網址」。您需要發佈一些代碼/ html或可能的鏈接到您的網站以獲得更好的答案。 – Prisoner

+0

我沒有絕對的網址,我保持清楚。這就是我的問題,如果我絕對使用https://mysite.com/page3.php這將是安全的,但我不知道如何做到這一點相對鏈接。有什麼服務器端,我可以改變,像價值或類似的東西?我在我的服務器上使用CentOS – ragebunny

+1

不,使用'href =「page3.php」'會使用你所使用的任何協議 - 這可能是一個.htaccess問題嗎? – Prisoner

回答

2

要回答你的問題的意見,你應該使用mod_rewrite(假設其啓用):

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L] 

,將任何網頁發送到https。

+0

這不是一個安全的解決方案**,因爲如果每個鏈接都使用不安全的HTTP訪問,然後重定向到安全HTTPS,那麼在每次點擊和重定向之間,您都容易受到幾乎相同的攻擊,就好像您擁有所有的通信在HTTP中完成。具體來說,中間人攻擊可能會發送除重定向之外的其他內容,或會話劫持或觸發與Cookie一起發送的敏感數據,查詢參數或發佈數據。正確的解決方案將首先消除HTTP流量。 – rsp

+0

我不知道該怎麼做? @rsp – ragebunny

2

請不要在網址中使用http://foo.com/path,而應該使用//foo.com/path(或者,更好的方法是,如果您停留在同一臺服務器上,請使用/path - 它確實有效)。做完整的網址會帶來冗餘和脆弱。躲開它。

0

退房HTTP嚴格傳輸安全(HSTS)https://www.owasp.org/index.php/HTTP_Strict_Transport_Security

基本上,你可以強制瀏覽器(unless it's IE<12)通過添加這頭到安全站點的配置始終使用https:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" 

這也可以與301(永久)重定向用於非安全/ HTTP站點的配置,也可以在上述引用的站點上使用outlined

<base href="https://website.com/"> 

這將設置所有相對URL的網頁上:

此外/或者,您也可以通過添加像這樣朝<head>標籤的頂部設置你的「website.com」頁面base href (包括鏈接,樣式表,腳本,圖像等)以HTTPS網站的根作爲其基礎。但是,根據網站的結構和大小,您需要針對每個頁面驗證其基礎href和/或頁面內的網址是否包含任何必要的路徑信息(即子目錄)。否則,指向「otherpage.html」的http://website.com/some/directory/page.html上的鏈接將指向http://website.com/otherpage.html而不是http://website.com/some/directory/otherpage.html。在這種情況下,您希望基礎href爲「http://website.com/some/directory/」,或鏈接中的相關url應指向「/some/directory/page.html」或「some/directory/page.html」(不需要斜槓這個案例)。

相關問題