黑客DropDownList值

时间:2010-02-28 03:24:53

标签: asp.net security drop-down-menu integrity

我有一个DropDownList,我试图阻止它被用作攻击媒介。我可以假设用户无法实际更改DDL的值并回发到服务器吗?目前,如果我在提交后尝试更改数据包,则会抛出此ASP.NET错误消息:

For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.

我是否正确地认为这是由于视图状态哈希中的完整性受损?这可以被绕过吗?

由于

2 个答案:

答案 0 :(得分:3)

不,你不能这么认为。

您应该始终认为所有输入都是不受信任的,并对其进行适当处理(确保它应该是什么,并且它是正确的类型,并且当前用户(或其他)可以访问它,等等。)

答案 1 :(得分:3)

实际上,只要页面具有EnableEventValidation = true(默认情况下您可以在每页或web.config中禁用它),您应该能够假设下拉列表选项尚未在客户端更改。如果向您的下拉列表客户端添加了新值,并且发生回发,则会发生错误,除非您为事件验证注册了此新值(http://odetocode.com/blogs/scott/archive/2006/03/21/asp-net-event-validation-and-invalid-callback-or-postback-argument-again.aspx