說到使用 SSL 的網站,國內外很多都不重視瀏覽器的安全性訊息,尤其是這種訊息:
(以上為 Seednet 註冊網址時的訊息)
有些網站甚至還告訴使用者這種訊息是正常的,感覺有點不太負責任。
不過有種狀況倒是很常見,也很難避免,就從 SSL 導向到非 SSL 的網頁。
舉個例子來說,網友用 SSL 登入之後要重新導向回服務的頁面,但是網站服務的頁面又不是 SSL 。或是付款時使用 SSL 傳輸,但是付完款之後又不需要 SSL 了。
使用者登入 (SSL) -> 回到服務畫面 (非SSL)
或
付款主機 (SSL) -> 回到服務畫面 (非SSL)
只要由 SSL 轉向非 SSL 的頁面,通常會出現下面這個畫面:
由於目前工作繁忙,一時間也想不出比較好的方式讓使用者在 SSL 網頁轉向時不會有感覺。本來突發奇想,想試試用 Apache 的 mod_rewrite 騙一下,結果似乎騙的不夠高明,還是被瀏覽器發現。目前我用的方法是 HTTP 的 Refresh ,如 PHP 可以用:
header(‘Refresh: 0; http://www.kimo.com.tw/’);
這樣等於動作完成後,在 SSL 網頁等待 0 秒再由瀏覽器轉出去,所以不會出現提示訊息。
只是這種做法畫面會讓使用者感覺稍微停頓一下再轉頁,並不如 Yahoo! 登入做的好,Yahoo! 登入是完全沒有 SSL 轉頁的感覺。如果有人知道 Yahoo! 是怎麼處理這一部份的,也歡迎分享一下。
Yahoo! SSL 登入轉非 SSL 首頁:
https://tw.reg.yahoo.com/cgi-bin/login.cgi?srv=www&from=http://tw.yahoo.com/
但是 Yahoo! 付款機制卻沒採用這個方式,就不知道為什麼了?
完成自動扣款核對返回拍賣時,出現導向「不安全」的網頁警告?
請勿憂慮,這個警告說明是正常的網頁轉換程序。
(Yahoo! 說明原文)
8 comments On 如何避免 SSL 轉頁出現「您即將被導向到非安全性的連線」?
不曉得您有沒有注意到,這個 SSL 頁面似乎不是真的 SSL 頁面?因為它沒有那個小鎖頭,而且用 Firefox 看,鎖頭也是被 X 掉了。
jaceju:
我沒注意到耶^^
因為我在 IE 上看鎖頭是蠻正常的。倒沒注意到 Firefox 的鎖頭被畫掉了。:(
我在想會不會是只是借用 443 Port ,但是沒有真的啟用 SSL ,因為我不管在公司或家裡看,我的 IE6 on XP SP2 都沒有出現鎖頭。不過您會出現鎖頭的話,我就不知道為什麼了?
我試過 IIS on XP Pro ,但似乎是不行的。有空用 Apache 試試好了,這種事沒實驗過的話,說不得準。
剛剛再仔細去網頁的內容 (網頁空白處滑鼠右鍵選內容) ,看看連線的部份:
Yahoo: SSL 3.0,RC4 與 128 位元加密 (高);RSA 與 1024 位元交換
一般 SSL: 已加密
會不會是加密的方式所造成的呢?
供您參考看看。
Yahoo! 登入(https://tw.reg.yahoo.com/cgi-bin/login.cgi?srv=www&from=http://tw.yahoo.com/)
沒有出現neo 說的所謂「SSL轉頁的感覺」,是因為
這個網頁含有的部份資料(比如說圖片、連結的css file) 是放在別的URL,而不是都放在https://tw.reg.yahoo.com/ 這個安全性網址底下,所以 browser 狀態列就不會出現金鑰的圖示,當然也不會有什麼轉頁的感覺。
不過
我倒是發現yahoo每一次登入時
其實不是都是用ssl在傳遞資訊
他還是會先用get將帳號密碼以明碼送到另外一個地方
目前無法瞭解原因…
但是其中的密碼已經經過js的MD5加密、配合server產生的一組
challenge值,再做一次MD5
那個JS檔,由檔名看來會不斷更新其中的加密「種子」
安全性還不錯。
經過多次測試
發現登入時一定會做三件事情
1.用get將帳號密碼以明碼送到另外一個地方
2.完成ssl握手,並傳遞資料
3.引用第三方的圖片(推測除了效能與管理考量外,還可儲存第三方cookie)
我好奇的是
為何每一次都會用get將帳號密碼再送出去
這樣不是失去ssl的意義了嗎?
yahoo被駭客動過手腳了…..
microsoft有一簡單的修正.我試過有效.
(註:我的xp是sp3.sp2及sp1沒試過)
你可參考看看以下網址
http://support.microsoft.com/kb/883740/zh-tw