2010-03-01 75 views
3

我的用戶界面原型需要我一直顯示網站登錄信息。我應該顯示通常的用戶名和密碼文本框或「您已登錄」。最後一點不必是安全的,因爲它只是對用戶的信息,沒有任何我會使用服務器端。但是第一部分應該安全地發送到服務器。SSL登錄iFrame

看來,我將不得不爲網站上的所有網頁使用https。我只想使用ssl來處理需要安全的事情。

一種方法是將登錄信息放入https://../login.aspx,並將其作爲IFrame顯示在我的主頁上。

我可以看到的一個缺點是用戶不知道https正在被使用,除非他們讀取源代碼中的IFrame src。

您認爲如何?

+0

什麼是反對安全地做到這一切?無論如何,你將不得不做SSL協商。 – 2010-03-01 18:03:26

+1

例如,對於網站的其他部分,將啓用緩存,但不使用ssl – Karsten 2010-03-02 13:50:28

回答

0

您是使用內置的asp.net登錄控件還是僅使用兩個文本框控件?

您可以使用自己的表單標籤(不是runat =「server」),將action屬性設置爲「https:// ...」,只需使用兩個html輸入標籤和一個按鈕即可登錄。

再次,這不會顯示用戶登錄時憑據是安全的。

由於最近發現的一些SSL攻擊,最好還是將登錄表單放在https://頁面上。否則,被黑客可以攔截http流並將表單操作從「https:// ...」更改爲「http:// ...」,然後嗅探憑據。

0

另一種選擇是利用Button控件的PostBackUrl property

您需要創建自己的登錄LayoutTemplate才能利用此功能。然後,您可以將安全方案添加到當前頁面URL,並將提交按鈕的PostBackUrl屬性設置爲該方案。

這將有一個類似的問題,你的iFrame解決方案(用戶不會看到掛鎖符號),但你會有好處,你不會使用iFrames。

使用iframe的另一個問題是影響他們可以在頁面上:

  • 他們是一個單獨的請求,但可引起對JavaScript的pageLoad的事件觸發塊。
  • 登錄表單只會在iFrame內回發,因此您需要在用戶成功登錄時刷新父頁以將其刪除。
    • 此外到,錯誤將在iFrame中返回,大概不會離開你太多的空間用於顯示形式以及等
0

你打的主要問題。您需要登錄,該登錄需要在每個頁面上使用SSL,但您不希望整個頁面都是SSL。

這是一個比其他任何事情都更重要的商業決策。您希望您的客戶在訪問您的網站時感到更安全嗎?還是您希望每個屏幕上都顯示登錄信息?

如果你需要兼得,你可能還需要考慮讓你的整個網站SSL。