做ASP.NET使用已知值隐式验证控件

  • 本文关键字:验证 控件 ASP NET asp.net sql
  • 更新时间 :
  • 英文 :


我有一个复选框列表,其中包含一些项,这些项的值参数设置为数据集过滤器。这些值是否在回发时进行了验证,以确保它们在有效复选框的范围内,或者用户是否可以将无效复选框与有害的(sql注入)值一起注入列表。

用户可以在浏览器上已经呈现的页面上注入他想要的任何内容;然而,与列表中的复选框相关联的实际值将被编码在ViewState中。ViewState反过来被散列(至少在默认情况下),因此,某人操纵通过其中一个复选框发布回服务器的值的唯一方法是操纵ViewState,这将立即引发异常。

话虽如此,散列并不是万无一失的,你应该采取措施确保ViewState没有被篡改。例如,您也可以对ViewState进行加密,使其更加困难,但这将导致性能损失。

在允许使用该值之前,我只需以编程方式验证该值。借用Uwe上面的话,从不信任用户输入

最新更新