【问题标题】:Changing value of hidden field through inspect element changes actual value in server side通过检查元素更改隐藏字段的值会更改服务器端的实际值
【发布时间】:2013-10-24 13:26:55
【问题描述】:

我有一个奇怪的问题。我将一些数据存储在隐藏字段中。当我通过检查元素更改隐藏字段的值时,它也会在服务器端更改。

具有实际值的隐藏字段

值通过检查元素改变

服务器端的结果

我希望用户不要更改隐藏值或用户更改的值不应影响实际值。 谁能帮我解决这个问题?

【问题讨论】:

  • “在服务器端”是什么意思?
  • 我认为你误会了。您检查的是在客户端。知道为什么要将数据存储在不希望用户更改的隐藏字段中会更有趣。也许您可以找到更好的选择。
  • 如果你计算这个值(84),你需要在服务器端重新计算以确保它适合。你永远不应该相信自己的表格。总是存在被用户更改的风险。如果这是价格,请提交产品的 ID 并重新计算。不管你如何在客户端得到这个号码,你也可以在服务器端得到它
  • 谢谢。非常有用。

标签: jquery html asp.net google-chrome firefox


【解决方案1】:

无法在控制台中阻止某人修改 DOM。

在对它们进行任何操作之前,您需要验证发送到服务器的值在服务器端是否有效。

如果您有一些不希望任何人修改的数据,则需要有某种加密方法,或者根本不在客户端显示它。

【讨论】:

  • 谢谢.. 我们通过检查元素更改了标签、按钮等 asp 控件的值,但在服务器端我们没有得到更改的值。所以我的问题是,标签和隐藏字段有什么区别?它是如何工作的?
  • @Sudha 标签和按钮没有在表单中提交的值。隐藏的表单域可以。它们被发布到您的服务器端代码中。
  • 感谢您的解释。这对我帮助很大。
【解决方案2】:

知识渊博的用户可以随时更改隐藏的表单值,并将它们提交给您的代码。

如果您需要存储他们无法更改的用户数据,那么您需要将它们存储在服务器端(例如在数据库中),而不是在客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多