2013-03-24 65 views
1

我有http://example.com着陸頁的HTTP頁;具有在其上的Ajax登陸欄,它發送該用戶的登錄到服務器,接收到認證響應,並將其顯示給用戶。調用HTTPS的API從通過javascript

這種方法的問題是,用戶登錄信息以明文方式發送到服務器,而無需SSL加密。但是,當對https://example.com進行相同的POST請求時,NGINX會以401 Unauthorized進行響應。

在哪些方面我們也許能夠使用https://example.com/user_api作爲授權URL?

非常感謝!

回答

1

你應該真的在整個網站上使用https,包括登陸頁面。不允許經常使用http。如果你這樣做,你遇到的問題就會消失。

爲什麼你應該使用https整個網站即使有着陸頁上沒有任何敏感數據的原因是因爲加密通信只是什麼呢SSL一半。另一半(這對保護用戶同樣重要)是服務器的標識。當使用https檢索站點時,通過檢查使用其私鑰簽名的證書來驗證遠程服務器的身份。此證書是針對可信的第三方進行驗證的,因此用戶知道他們確實在與您的服務器通話。

如果不使用https爲您的整個網站,你正在使平凡的惡意服務器假冒網站和收穫您的用戶憑據。更好的是,由於這種設計,他們可以將用戶登錄到您的應用程序並將其轉發到正確的頁面,但沒有人更聰明!

另一個原因是,當大的團隊在一個web應用程序的工作,很容易讓別人意外地創建一個網頁,應該是安全的,但使用HTTP來代替。這可能是一個很大的安全漏洞。

請考慮重新設計爲您的整個網站使用https。這是更多的工作,但安全收益是巨大的。

+0

如果您的主機不允許https,該怎麼辦? (像我的...) – 2014-01-13 10:56:49