2017-03-17 243 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