【问题标题】:Place Cookie to prevent re-visiting site [closed]放置 Cookie 以防止重新访问网站 [关闭]
【发布时间】:2014-04-28 16:15:25
【问题描述】:

我有一个竞赛网站,我希望它可以防止人们在页面上提交表单后继续访问该网站。这可能吗?

谢谢

【问题讨论】:

  • 可以防止不想作弊的人返回,但无法防止那些愿意尝试清除 cookie 等琐碎变通办法的人作弊。
  • 如果比赛网站需要注册,您只需在用户提交参赛作品时在后端数据库中存储一个标志,然后根据该标志的存在阻止页面加载。
  • 您好 Psychmaster,我将如何存储标志并根据标志阻止页面加载?

标签: javascript php mysql forms


【解决方案1】:

您可以构建系统,要求用户输入他们的电子邮件地址,并输入发送给他们的验证码。但他们只能输入这个验证码一次。因此,作弊的唯一方法是使用两个单独的电子邮件地址(他们必须同时访问这两个地址)。

Cookie 不是最好的选择,因为任何人都可以清除他们的 Cookie。

【讨论】:

  • 嗨,丹尼尔,我将如何实现这一目标?
  • @user3582132 - 他刚刚告诉你
  • @user3582132 我会在 PHP 中解决这个问题。有一个电子邮件表单,检查该电子邮件是否已存在于数据库中。如果是,则不允许进入。如果没有,请将其与随机生成的数字一起添加到数据库中。 (rand())。然后使用 PHP 电子邮件向该地址发送一封电子邮件以及验证码。要求用户输入代码,并检查它是否与存储在数据库中的代码匹配。
【解决方案2】:

不一定可以停止用户请求页面,但是您可以将他们重定向到另一个页面或向他们显示某种错误消息,告诉他们无法重新提交。

假设您已经进行了某种用户注册(并且将竞赛条目与具有 ID 的用户绑定),那么您所要做的就是检查数据库中是否存在竞赛条目,然后,如果找到一个,要么强制重定向(可能在<script> 标签中),要么将页面的呈现替换为您无法重新提交的通知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多