使用计时器限制提问
Limit questioning using timer
我将如何处理这个问题。
我的想法是用计时器限制发帖。例如,
如果用户发布问题,则用户必须等待 'X' amount 时间才能提交另一个问题。
我正在使用 Meteor 作为我的框架。我不要求任何人为我编写代码。
我正在自学,我找不到任何tutorials/tips关于我应该采取什么方法来完成这个。
任何参考或指点将不胜感激!谢谢!!!
(截至目前,我正在使用 Meteor 方法将 postInsert 插入到 mogoDB 中)
在浏览器中,当用户 post 提出问题时,您可以禁用 post 另一个问题的控件,然后使用 setTimeout(fn, x)
为 [=11] 设置计时器=] 毫秒,届时您的 fn
功能可以重新启用控件以允许它们再次 post。理想情况下,您可能还会在屏幕上提供一些建议,告知他们还剩多少时间才能再次 post。
为了防止简单的浏览器刷新重新启用控件,您还可以将允许下一个 post 的时间存储在 cookie 中,并在加载页面时读取该 cookie 以确定是否posting 控件是否应该启用。
但是,由于客户端保护并不完全安全(它们可以被绕过,有时甚至只需打开另一个浏览器即可),您可能还想在用户会话中记录上次 post 的时间服务器每当用户 posts。如果对 post 的新请求到达,您可以检查最后一个 post 的时间,并确定是否已经过了足够的时间来允许 post。这假设您有某种用户识别信息,您可以使用这些信息来了解该用户最后一次 posted 的时间。如果没有,您需要添加此类信息。
我将如何处理这个问题。
我的想法是用计时器限制发帖。例如, 如果用户发布问题,则用户必须等待 'X' amount 时间才能提交另一个问题。
我正在使用 Meteor 作为我的框架。我不要求任何人为我编写代码。
我正在自学,我找不到任何tutorials/tips关于我应该采取什么方法来完成这个。
任何参考或指点将不胜感激!谢谢!!!
(截至目前,我正在使用 Meteor 方法将 postInsert 插入到 mogoDB 中)
在浏览器中,当用户 post 提出问题时,您可以禁用 post 另一个问题的控件,然后使用 setTimeout(fn, x)
为 [=11] 设置计时器=] 毫秒,届时您的 fn
功能可以重新启用控件以允许它们再次 post。理想情况下,您可能还会在屏幕上提供一些建议,告知他们还剩多少时间才能再次 post。
为了防止简单的浏览器刷新重新启用控件,您还可以将允许下一个 post 的时间存储在 cookie 中,并在加载页面时读取该 cookie 以确定是否posting 控件是否应该启用。
但是,由于客户端保护并不完全安全(它们可以被绕过,有时甚至只需打开另一个浏览器即可),您可能还想在用户会话中记录上次 post 的时间服务器每当用户 posts。如果对 post 的新请求到达,您可以检查最后一个 post 的时间,并确定是否已经过了足够的时间来允许 post。这假设您有某种用户识别信息,您可以使用这些信息来了解该用户最后一次 posted 的时间。如果没有,您需要添加此类信息。