谁能建议一个抽象基类来防止 .NET 2.0 中的 XSRF?
我正在寻找一个抽象基类或母版页解决方案,以防止任何人同时使用令牌和 ttl 执行 XSRF。 有人能指出我正确的方向吗?
编辑:理想的解决方案将利用默认会员资格提供商发送给客户端的 cookie。
I'm looking for an abstract base class or master page solution that will prevent anyone from doing XSRF using both a token and ttl. Can anyone point me in the right direction?
Edit: The ideal solution will leverage the cookie that the default membership provider sends down to the client.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在母版页上放置一个隐藏字段,在母版页的 Page_Load 事件期间生成一个键,将该键指定为隐藏字段的值,然后将该值添加到您的 cookie 中。 然后你只需比较这些值即可。
You could put a hidden field on your masterpage, generate a key during the Page_Load event of your master page, assign the key as the value of your hidden field and then add that value to your cookie. Then you just compare those values.
我启动了一个母版页可以继承的基类。 我选择使用视图状态而不是放置隐藏输入,因为使用这种方法我不需要担心页面上的多个表单等。 与简单的“查看源代码”相比,找到这个值还需要更多的工作。
下面是我试图纠正的一些问题。
当我刷新页面时(不是
回发)视图状态,并隐藏
输入,(当我开始这种方法时)
不是
我的应用程序,新页面开始
没有有效的视图状态,因此
在这种情况下,我的比较失败...
以下是我正在进行的工作;)
I started a base class that a master page can inherit. I opt'd to use viewstate instead of putting a hidden input down because with this approach I don't need to worry about multiple forms on a page/etc. It also takes a little more work to find this value than a simple "view source"
The below are a few issues that I'm trying to correct.
When I refresh the page (not
post-back) the viewstate,and hidden
input, (when I started this approach)
values are not updated like the cookie is
When I navigate to a new page inside
my app, the new page starts
without the valid viewstate and thus
my compare fails for this case ...
The below is my work in progress ;)