0

ASP.NET 是否使用一种机制来禁止在客户端和服务器之间操作数据?

如果不是,是否意味着我们应该使用 SSL?SSL 可以防止什么样的攻击?

如果是,这个机制是什么?

4

3 回答 3

4

不,ASP.NET webforms 和 mvc 框架对保护客户端和服务器之间的数据传输没有任何作用。视图状态是 web 表单中的一段加密数据,但这并不意味着它在到达服务器或客户端的过程中不能被篡改。简短的回答是,如果要防止中间人攻击,请使用 CA 签名证书至少使用 128 位 ssl。

于 2011-08-24T05:53:23.830 回答
1

要禁止客户端和服务器之间的数据操作,您必须有一种方法让服务器检测这种操作。对于视图状态,这可以在 asp.net 中启用,方法是确保视图状态启用了 mac 和加密。哦,你还应该设置一个viewstateuserkey。

然而,对于其他参数,攻击者可以操纵这些参数。所以使用 SSL/TLS。SSL/TLS 在您的客户端和服务器之间建立加密连接,使攻击者无法(除非配置不当)嗅出数据或操纵内容。

不使用 SSL/TLS,允许各种攻击(嗅探开放无线网络上的会话 cookie、注入数据包和操纵返回的网页等)

于 2011-08-24T05:50:35.860 回答
1

ASP.Net 在客户端使用 Viewstate 来保留值——这实际上是牢不可破的。但是,任何 Web 应用程序通过 Web 浏览器将数据传递(发布)到服务器,该浏览器使用 TCP/IP 协议以数据包数据块的形式传递。使用某些软件可以轻松地监控此信息以查看正在传输的数据(但是,在传输到服务器的同时更改此数据似乎非常非常困难)。SSL 只是在浏览器将数据发送到服务器之前加密数据(比如您在登录框中输入的用户名和密码);在 TCP/IP 通道上传输的这些数据可以被监控,但它会采用加密格式。因此,安全。

但是,您可以通过注意此链接中的要点来确保您的应用程序安全:

于 2011-08-24T05:55:19.213 回答