【问题标题】:how to prevent tampering of hidden field value by malacious user如何防止恶意用户篡改隐藏字段值
【发布时间】:2010-10-29 08:19:47
【问题描述】:

大家好,实际上我正在使用隐藏字段来存储一些值

<asp:HiddenField ID = "hfObjectID" runat="server" />
<asp:HiddenField ID = "hfIsBestanswer" runat="server" />

hfObjectID.value = // fetching pk_id from data base.
hfIsBestanswer.value =  // fetching pk_id from data base.

<input type="hidden" value="100" id="ctl00_ContentPlaceHolder1_ucComment_hfObjectType" name="ctl00$ContentPlaceHolder1$ucComment$hfObjectType">

这里 100 是实际值 现在用户更改它 200 现在发送到服务器端代码的服务器将对 200 的值执行操作 100 ......

假设在客户端隐藏字段值被用户更改,那么它会导致服务器端根据隐藏字段值存储一些数据的错误...... 所以我怎么能防止它。有什么我必须自己实现的逻辑......

谢谢。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    如果页面以您无法在服务器端检查的方式进行修改,请不要在页面中存储任何会导致问题的内容。

    与其将这个值存储在隐藏字段中,不如将其存储在服务器端的用户会话中。

    【讨论】:

    • 有时您必须在隐藏字段中存储一些值才能将其绑定到数据字段。
    【解决方案2】:

    我同意 Jamie 的观点,即您不应将任何敏感数据存储到隐藏字段中。但是如果你仍然决定这样做,你应该使用一些摘要算法来指纹存储在隐藏字段中的数据。你可以在这里找到更多信息:http://advosys.ca/papers/web/60-form-tampering.html

    【讨论】:

      猜你喜欢
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 2014-11-27
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多