asp.net-mvc-3 - 关于是否使用SSL时的隐藏字段加密和签名

标签 asp.net-mvc-3 ssl encryption signing

在传输过程中使用 SSL 以防止第三方读取和修改传输的数据。

向服务器发送数据并从服务器获得答案的用户显然可以按照自己的意愿查看和修改数据。因此用户可以修改包含 View 状态的隐藏表单域。 Base64 转义在这里不提供任何保护,它只是一种确保二进制数据不被字符集对话搞乱的方法。

因此,在可能的情况下,您的 View 状态/隐藏字段包含可信赖的信息,恶意用户不得修改,您需要为其启用加密和签名。

我对这个声明有点困惑

这只是一种确保二进制数据不会被字符集对话搞乱的方法。 什么用户试图说“二进制数据没有被字符集对话弄乱”,任何人都可以更详细地解释它。

如何为隐藏字段启用加密和签名?

如何签署隐藏字段?请指导我在 asp.net MVC 中加密和签署 hiddent 字段的所有步骤?

谢谢

最佳答案

由于用户控制浏览器,因此您对“恶意用户”无能为力。您唯一可以可靠地做的就是在服务器端过滤并仔细检查输入。如果你真的想要,你可以执行一些混淆,但加密和签名不会帮助你。在最坏的情况下,您将在没有发送数据的情况下建立对发送数据的信任。

确保您的服务器安全,最好使用高级语言(无缓冲区溢出)执行良好的过滤,并确保您的 TLS 设置免受已知攻击(例如 BEAST 攻击)。这是你能做的最好的...

关于asp.net-mvc-3 - 关于是否使用SSL时的隐藏字段加密和签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18959808/

相关文章:

asp.net-mvc-3 - 局部变量在 Razor 助手中不起作用

ssl - Watson 和 https 的问题

Java,反编译器出现问题

c# - mvc3 razor 引擎是否支持 List.ForEach() 的输出

ASP.net:由于数据库错误,无法使用网站管理工具

java - 在 Java 中创建到 http 服务器的 TLS1.2 连接

ssl - IIS 自签名证书适用于本地网络但不适用于互联网

c# - 客户端/服务器,加密通信

twitter-bootstrap - Visual Studio 以加密方式发布 Bootstrap.Js

asp.net-mvc - ASP NET MVC : Dynamically adding or removing inputs on the form - unobtrusive validation