【问题标题】:Preventing anonymous user from submiting form many times in ASP.NET without SqlMembershipProvider防止匿名用户在没有 SqlMembershipProvider 的情况下在 ASP.NET 中多次提交表单
【发布时间】:2009-04-27 11:53:20
【问题描述】:

我有一个简单的表单,可以将选定的答案转储到 XML 文件中。如何防止匿名用户多次提交此表单?

我不是在寻找完全防弹的解决方案,而且我有一个限制,我不能使用数据库,因此没有 SqlMembershipProvider。

某些 cookie 检查会起作用吗?如何做到这一点?

提前谢谢你。

更新:更准确地说,我的意思不仅仅是一些意外提交表单,而是为了防止一周前访问该网站的用户再次提交此表单。

【问题讨论】:

    标签: c# .net asp.net webforms anonymous-access


    【解决方案1】:

    简而言之,您不能完全可靠。如果你不介意像你说的那样防弹,你也可以

    a) 将 cookie 保存到客户端计算机,并在下次有人发帖时检查它。显然,用户可以删除 cookie,所以并不出色。 b) 您可以存储提交的 IP 地址。这样做的问题是,您将阻止多个用户在同一 IP 后面提交,即代理,并且同一用户可以从不同位置发布。

    两者都不是特别好,如果可能的话,我建议让他们在开始时输入电子邮件地址,将帖子存储为未确认,通过电子邮件发送确认链接,并且只有在他们点击后才将帖子设为官方.同样,不是防弹,因为它不会阻止人们使用多个电子邮件帐户发帖,但它比上面的选项要好一些。

    HTH

    【讨论】:

      【解决方案2】:

      使用会话变量来跟踪您的用户正在做什么。

      【讨论】:

        猜你喜欢
        • 2015-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        • 2016-03-26
        • 1970-01-01
        相关资源
        最近更新 更多