在隐藏字段

时间:2016-01-15 20:49:13

标签: c# security logic

我试图了解处理以下场景的正确方法是什么。我希望了解更多关于在安全性方面在页面上传递的内容。

让我们参加比赛场景。我们有一个已注册的团队列表,显示在页面上。要报告游戏结果,您必须单击团队然后选择赢或输。然后将其发回服务器,然后将其记录在数据库中。

困境在于知道您点击了哪支球队以及哪支球队。由于有很多回合,1个团队可以多次展示。因此,我需要在页面上有一个隐藏字段,其中包含团队ID和游戏ID,以便我可以记录结果。

我想知道的是,创建一个包含我ID的隐藏字段对我来说有多安全。有没有更好的方法来处理这种情况?如果我在隐藏字段中打印出ID,我会向黑客发出太多信息吗?

我通过研究发现的一些答案说它可能"可能"只要我授权请求就可以了。因此,报告分数的用户具有足够的权限来报告该分数。但是我希望在stackoverflow上请一些专家来进一步支持这项研究。

编辑:

这适用于Web应用程序。如果打印出来的ID是不行的,那么我如何确定哪一个团队被选中参加哪一轮?我需要一些标识符。

2 个答案:

答案 0 :(得分:0)

如果您在桌面应用程序中使用MVVM或MVC 等UI模式,则应在模型或控制器中保留敏感信息。不需要滥用视图组件来进行(临时)数据存储。虽然没有明显的方法来获取桌面应用程序中隐藏字段的内容,但可能有一些工具可以实现此目的。

如果我们在这里讨论网络应用程序,那么绝对禁止,因为每个人都可以打印出html源代码并披露敏感信息。与上述规则相同 - 敏感信息不得传递到视图组件中。

答案 1 :(得分:0)

如果在POST回到服务器时包含ID,那么将显示ID而不是将其保存在隐藏字段中。我可以在Chrome / Firefox / IE中点击F12并查看POST请求中的所有数据。

如果您已经拥有用户身份验证,那么请担心控制授权用户可以执行的权限。