我有一个简单的表单,可以将选定的答案转储到 XML 文件中。如何防止匿名用户多次提交此表单?
我不是在寻找完全防弹的解决方案,我有一个限制,我不能使用数据库,因此没有 SqlMembershipProvider。
一些cookie检查会起作用吗?如何正确地做到这一点?
先感谢您。
更新:更准确地说,我的意思不仅是意外提交了表单,而且是为了防止一周前访问该站点的用户再次提交此表单。
我有一个简单的表单,可以将选定的答案转储到 XML 文件中。如何防止匿名用户多次提交此表单?
我不是在寻找完全防弹的解决方案,我有一个限制,我不能使用数据库,因此没有 SqlMembershipProvider。
一些cookie检查会起作用吗?如何正确地做到这一点?
先感谢您。
更新:更准确地说,我的意思不仅是意外提交了表单,而且是为了防止一周前访问该站点的用户再次提交此表单。
简而言之,你不能完全可靠。如果您不介意防弹的东西,就像您说的那样,您也可以
a) 将 cookie 保存到客户端计算机,并在下次有人发布时检查它。显然,用户可以删除 cookie,所以并不出色。b) 您可以存储提交的 IP 地址。这样做的问题是,您将阻止同一 IP 后面的多个用户提交即代理,并且同一用户可以从不同位置发布。
两者都不是特别好,如果可能的话,我建议让他们在开始时输入一个电子邮件地址,将帖子存储为未确认,通过电子邮件发送一个确认链接,并且只有在他们点击它时才将帖子设为官方。同样,不是防弹,因为它不会阻止人们使用多个电子邮件帐户发帖,但它比上面的选项要好一点。
高温高压
使用会话变量来跟踪您的用户正在做什么。