【问题标题】:ASP .NET MVC sensitive dataASP .NET MVC 敏感数据
【发布时间】:2017-03-21 19:49:03
【问题描述】:

假设用户在 MVC Web 应用程序的页面上的 HTML 输入(文本框)中输入敏感数据(如 SSN 等)。

在发送之前保护该数据的方法是什么(通过表单发布、URL 查询字符串等)。 ASP .NET MVC 是否提供了一种机制来做到这一点?

附:我想知道如何使用 MVC,而不是 HTTPS 或其他基于基础设施/传输/等的东西

【问题讨论】:

  • ASP.NET 是一种后端技术 - 它不会帮助您从前端网站安全地传输数据。如果您不想使用 HTTPS,这将是更好的选择,您将不得不查看 javascript 中的加密之类的东西。
  • 我的问题很清楚,不知道为什么MVC会这样做
  • MVC 只是 ASP.NET 的一个扩展——它仍然在服务器上运行,而不是在浏览器上。除了 HTTPS,javascript 是您对网页本身进行加密的唯一选择。
  • 我在询问用于 Web 应用程序的 MVC。 MVC Web 应用程序可以将用户键入的信息发送回服务器(托管 Web 应用程序的服务器) HTML 本身以纯文本形式发送(不安全,因为任何人都可以转储它并查看值)。 ASP .NET MVC 框架是否提供了保护数据的方法?
  • 您的 ASP.NET MVC 应用程序将 HTML 页面发送到最终用户的浏览器。那时,它超出了您的应用程序的控制范围,直到该数据被发回。除了通过 javascript,您无法控制 HTML 表单。这么简短的回答,不,它不能那样工作,而且 ASP.NET MVC 无法保护这些数据。

标签: asp.net-mvc


【解决方案1】:

在 Web 服务器和客户端的 Web 浏览器之间安全发送任何敏感消息的唯一(可实现的)方法是通过 HTTPS/SSL - 否则,您的消息将始终被 MITM 攻击拦截,而这实际上是不可能的proper HTTPS setup(还有this post)。

理论上,您可以使用自定义 JS 加密和自定义解密,但即便如此,您的 JS 也很容易被取消最小化并最终被去混淆,假设它甚至一开始就被混淆了,这将不再保护您的自定义加密,假设您一开始就可以安全地工作。

answer 详细说明了为什么没有 HTTPS/SSL 就无法保护 Web 应用程序。

【讨论】:

    【解决方案2】:

    MVC 只是一种架构设计模式,微软将其设置为开发 Web 应用程序的标准。许多其他框架使用 MVC 作为在其框架下开发 Web 应用程序的模式(exp.Spring MVC)。基本上 MVC 无处不在,如果您没有看到 Model、View、Controller 文件夹,请不要感到困惑,相信我它就在那里。因此,对于敏感信息,有防止跨站点请求伪造和其他黑客攻击的机制,但是如果您通过 http 发送请求,那是没有用的,您发送的是裸露的请求,每个人都可以轻松嗅探。这就是为什么在将敏感数据从您的计算机传递到服务器时总是使用 https 的原因。每次您打开与服务器的连接时,例如发布表单,https 都会为您提供与服务器的加密通信,您可以在其中传递敏感数据而无需担心。这是基本概念,它适用于您选择的任何框架。所以你的答案是否定的。 这是如何保护asp.net app 的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-16
      • 2015-12-04
      • 2021-03-27
      • 2018-06-25
      • 1970-01-01
      • 2011-01-26
      • 2020-11-10
      • 2016-09-12
      相关资源
      最近更新 更多