2017-03-17 134 views
-1

讓我們假設一個用戶輸入敏感數據(如SSN等)在一個MVC的Web應用程序一個HTML輸入(文本)的網頁上。ASP .NET MVC敏感數據

會是什麼(無論是通表單提交,URL查詢字符串,等等)之前將其發送,以確保該數據塊的方式。 ASP .NET MVC是否提供了這樣的機制?

P.S.我想知道如何用MVC做到這一點,而不是HTTPS或基於基礎設施/傳輸/等的其他東西。

+1

ASP.NET是一個後臺技術 - 它不會幫助你從前端的網站安全地傳輸數據。如果你不想使用HTTPS,這將是更好的選擇,你必須看看像JavaScript中的加密。 – PhillipXT

+0

我在我的問題很清楚,我不知道爲什麼MVC確實 – Rick

+0

MVC僅僅是ASP.NET的擴展 - 它仍然是服務器,而不是瀏覽器上運行。除HTTPS之外,javascript是您在網頁上進行加密的唯一選項。 – PhillipXT

回答

0

在Web服務器和客戶端的Web瀏覽器之間安全發送任何敏感信息的唯一(可實現的)方法是通過HTTPS/SSL - 否則,您的郵件將始終可以通過MITM攻擊進行攔截,這對proper HTTPS setup(和this post也是如此)並不可行。

理論上,您可以發揮自定義JS加密和自定義解密的作用,但即使如此,即使這樣,您的JS也很容易失去知識並最終解除混淆,假設它甚至被混淆開始,從而無法保護您自定義加密,假設你可以安全地開始工作。

answer進入更多細節,爲什麼你不能保證沒有HTTPS/SSL的Web應用程序。

0

MVC僅僅是微軟將其設置爲用於開發Web應用程序標準的建築設計模式。許多其他框架使用MVC作爲在其框架下開發Web應用程序的模式(例如Spring MVC)。基本上MVC無處不在,如果您沒有看到Model,View,Controller文件夾,請相信我它就在那裏。所以關於敏感信息,有防止跨站點請求僞造和其他黑客的機制,但是如果你通過http發送請求,這是無用的,你發送赤裸的請求,大家可以輕鬆地嗅探。所以這就是爲什麼HTTPS總是在敏感數據從計算機傳遞到服務器的地方使用。每當您打開與服務器的連接時,例如發佈表單,https將爲您提供與服務器的加密通信,您可以在此傳遞敏感數據而不用擔心。這是基本的概念,它適用於你選擇的任何框架。所以你的答案是否定的。 以下是鏈接如何保護asp.net app