首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制每30分钟张贴一次

限制每30分钟张贴一次
EN

Stack Overflow用户
提问于 2010-06-22 00:50:22
回答 6查看 410关注 0票数 1

谢谢你的关注。

我正在尝试写一个脚本,在用户发表评论后设置cookie,限制他们在30分钟内再次发表评论。我对从哪里开始感到很困惑。你们能帮我讲讲怎么做吗?

我正在尝试使用这个jquery插件-- countdown timer

EN

回答 6

Stack Overflow用户

发布于 2010-06-22 00:55:13

不要在客户端(cookies、javascript等)这样做;这很容易被绕过。

如果用户必须注册才能发布评论,您可以在存储上次评论时间的数据库中添加一个列/表。每次在发表评论之前,你都会检查从在数据库中注册的那一刻到现在是否已经过了30分钟。如果不是,则中止操作。

如果你不需要注册,你可以给数据库保存一个元组(IP,time),然后继续同样的操作。

票数 12
EN

Stack Overflow用户

发布于 2010-06-22 00:55:05

除了如何使用cookie,你为什么要这样做呢?如果您想要避免技术先进的垃圾邮件发送者,设置客户端cookie将阻止他们大约5秒,然后他们禁用您的网站cookie或以其他方式绕过您的限制。

至于如何设置,您可以简单地设置一个超时为30分钟的cookie。如果cookies存在,则阻止。如果没有,他们可以自由发布。

票数 1
EN

Stack Overflow用户

发布于 2010-06-22 00:56:39

在不了解你的项目的情况下,我会这样做:

  1. 当用户发布第一次检查您的cookie是否存在时
  2. 如果cookie不存在允许用户发布,并使用当前时间戳创建cookie
  3. 如果cookie确实存在,请检查时间戳是否比当前时间早30分钟。
  4. 如果时间超过30分钟,则让他们发布并重置时间。

H19如果不存在,则给他们一条漂亮的消息,说明他们必须等待。H210<代码>G211

当然,这不是最好的方法,因为他们必须启用cookie,否则可能会删除cookie,等等。就我个人而言,我会通过a)让每个用户创建一个帐户来发布(这并不是太疯狂的想法,因为你担心用户每30分钟发布一次以上),或者b)检查他们的IP地址来处理这个服务器端。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3086630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档