【问题标题】:Prevent user from submiting multiples times a form防止用户多次提交表单
【发布时间】:2013-06-02 15:03:29
【问题描述】:

我知道其他一些主题与该主题相关,但我有一个在其他任何地方都找不到的规范。

在我的网站上,人们可以在填写一份小表格(姓名/名字/电子邮件)后,有机会赢得活动的入场券。我想做的是防止他们为同一事件多次播放。为什么 ?因为他们中的一些人只是通过更改电子邮件就玩了不止一次。

所以我认为是使用 javascript cookie 来检查用户是否已经提交了表单。但问题是我们有很多赛事,他们需要能够参加所有赛事。因此,如果我将某些内容存储在 cookie 中,它们将只能播放一次,对吗?

谢谢,

【问题讨论】:

  • 给每个事件一个唯一的ID,并在cookie中将播放的ID连接在一起,例如管道符号|。然后,您将能够检查哪些已播放,哪些未播放。请注意,用户可以禁用或删除 cookie 以绕过此问题。
  • 尝试从用户那里获取更多的用户特定信息。可能要求提供用户真实地址,或者他们的社会安全号码的前 3 个数字,或者......如果 2 个用户的数据完全相同,则取消资格。如果用户获胜,但他的数据在他来价格时没有经过验证,则被取消资格。
  • @Graham 说得通。是的,我知道它很容易被绕过,但我认为大多数用户不会发现它。但话说回来,也许我错了,你还有什么建议吗?
  • @user510990 大多数用户可能不会明白这一点。如果您真的想防止重复使用,您可以尝试跟踪 IP 和用户代理组合之类的方法,但这对于这种情况来说有点过分......!
  • @Graham eheh 是的,这太过分了!我会去尝试设置您的解决方案。谢谢!

标签: javascript forms cookies controls


【解决方案1】:

不,你不正确.. 你可以设置你的代码来检查一个cookie是否存在,如果它存在,你就不能给任何赢得入场券的机会。

此外,您可以为每个游戏使用多包 cookie,或者只使用读取命令来读取 cookie,然后您可以使用最后一个 cookie 的信息创建一个新 cookie,并将有关当前游戏的信息添加到当前 cookie。

我希望我是有道理的......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2013-05-24
    • 2010-10-29
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多