我确信以前曾经问过这个问题,但我似乎无法找到答案...也许我没有用正确的词语进行搜索......
无论如何,这是我的问题。我正在使用C#作为代码支持语言的asp.NET webform项目。我创建了一个标志,一个简单的布尔变量,我曾经做过一些服务器端验证。此变量存储在会话中,因为它必须可以从静态WebMethods访问。但是,如果用户同时在两个(或多个)选项卡中打开网站,则变量将由所有选项卡“共享”。
是否可以拥有“独立”且WebMethods也可以访问的变量?我想在隐藏输入中设置值,但我不喜欢这个,因为用户可以使用Firebox或任何开发工具轻松更改值。
答案 0 :(得分:1)
将其存储在客户端可能是最好的选择。如果您真的不希望用户能够阅读它或弄乱它,那么将它与随机生成的令牌相关联,该令牌将位于页面上的隐藏输入元素中。 (充分随机化的令牌将是防篡改的,因为用户不太可能猜出有效值)然后可以对该标志进行加密并将其放入标记为仅限http的cookie中,或者与关联的服务器一起存储在服务器上页面令牌。
但回答这个问题:不,我认为没有办法区分服务器上用户的标签。