Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




March 31, 2006
如何避免 SSL 轉頁出現「您即將被導向到非安全性的連線」?

說到使用 SSL 的網站,國內外很多都不重視瀏覽器的安全性訊息,尤其是這種訊息:

20060331_02.gif

(以上為 Seednet 註冊網址時的訊息)

有些網站甚至還告訴使用者這種訊息是正常的,感覺有點不太負責任。

不過有種狀況倒是很常見,也很難避免,就從 SSL 導向到非 SSL 的網頁。

舉個例子來說,網友用 SSL 登入之後要重新導向回服務的頁面,但是網站服務的頁面又不是 SSL 。或是付款時使用 SSL 傳輸,但是付完款之後又不需要 SSL 了。

使用者登入 (SSL) -> 回到服務畫面 (非SSL)

付款主機 (SSL) -> 回到服務畫面 (非SSL)

只要由 SSL 轉向非 SSL 的頁面,通常會出現下面這個畫面:

20060331_01.gif

由於目前工作繁忙,一時間也想不出比較好的方式讓使用者在 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! 說明原文)

 
由 Neo 發表於 March 31, 2006 01:26 AM 收進你的MyShare個人書籤  

不曉得您有沒有注意到,這個 SSL 頁面似乎不是真的 SSL 頁面?因為它沒有那個小鎖頭,而且用 Firefox 看,鎖頭也是被 X 掉了。


jaceju 發表於 April 4, 2006 06:34 PM

jaceju:
我沒注意到耶^^

因為我在 IE 上看鎖頭是蠻正常的。倒沒注意到 Firefox 的鎖頭被畫掉了。:(


Neo 發表於 April 4, 2006 07:11 PM

我在想會不會是只是借用 443 Port ,但是沒有真的啟用 SSL ,因為我不管在公司或家裡看,我的 IE6 on XP SP2 都沒有出現鎖頭。不過您會出現鎖頭的話,我就不知道為什麼了?

我試過 IIS on XP Pro ,但似乎是不行的。有空用 Apache 試試好了,這種事沒實驗過的話,說不得準。


jaceju 發表於 April 5, 2006 03:52 PM

剛剛再仔細去網頁的內容 (網頁空白處滑鼠右鍵選內容) ,看看連線的部份:

Yahoo: SSL 3.0,RC4 與 128 位元加密 (高);RSA 與 1024 位元交換

一般 SSL: 已加密

會不會是加密的方式所造成的呢?

供您參考看看。


jaceju 發表於 April 5, 2006 03:59 PM

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 狀態列就不會出現金鑰的圖示,當然也不會有什麼轉頁的感覺。


Tony Tsai 發表於 May 10, 2006 03:20 AM

不過
我倒是發現yahoo每一次登入時
其實不是都是用ssl在傳遞資訊
他還是會先用get將帳號密碼以明碼送到另外一個地方
目前無法瞭解原因...

但是其中的密碼已經經過js的MD5加密、配合server產生的一組
challenge值,再做一次MD5
那個JS檔,由檔名看來會不斷更新其中的加密「種子」
安全性還不錯。

經過多次測試
發現登入時一定會做三件事情
1.用get將帳號密碼以明碼送到另外一個地方
2.完成ssl握手,並傳遞資料
3.引用第三方的圖片(推測除了效能與管理考量外,還可儲存第三方cookie)

我好奇的是
為何每一次都會用get將帳號密碼再送出去
這樣不是失去ssl的意義了嗎?


bibibobo 發表於 May 16, 2006 10:08 AM

yahoo被駭客動過手腳了.....


dooob 發表於 May 16, 2006 11:37 AM

microsoft有一簡單的修正.我試過有效.
(註:我的xp是sp3.sp2及sp1沒試過)
你可參考看看以下網址
http://support.microsoft.com/kb/883740/zh-tw


jerry 發表於 July 19, 2008 01:46 PM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.