阻止用户持有f5超过x秒?

jov*_*van 0 javascript jquery

有没有办法绑定一个jQuery事件,以便在访问者持有超过3秒的按钮后弹出?在这种情况下,我想在用户持有f5 3秒后做一些事情.

我找到了一个解决方案,当用户在此处按f5时会阻止刷新:

使用javascript禁用F5和浏览器刷新

然而,这并不是我想要的,因为我想允许我的用户刷新页面但是阻止他们在f5按钮上放置一块石头可以说(这是一个在线游戏,你可以通过刷新页面).

我正在努力做甚么可能吗?

编辑:我正在寻找一个短期,快速,客户端修复.事情的服务器端将在稍后解决.

Pho*_*cUK 7

这是您真正需要解决服务器端的问题.如果可以通过刷新页面来完成任务,那么可以通过机器人或禁用您的检查的一行或两行脚本来完成.做这个客户端并不会真正帮助你.

在这种情况下,您需要做的只是在用户会话上,跟踪上次执行操作X的时间,并且除非超过Y秒,否则不要再执行它,并告诉用户尝试执行此操作快速.

编辑:作为一个快速入侵,您可能要做的是配置您的Web服务器以cache-control在受影响的脚本的响应中提供标头,其值设置为使内容在Y秒内到期.这可能(强调可能,首先正确测试!)阻止客户端在正常的'F5'上重新请求页面,但强制刷新(某些浏览器中的ctrl + f5)不会受此影响.

虽然问题是用户正在利用此问题,但修复客户端将无法工作很长时间,用户将很快发现另一种方法.

  • +1它**可以**在客户端(使用cookie或本地存储)完成,但如果专用作弊完全绕过浏览器并且只是触发原始HTTP请求怎么办?服务器端是唯一的方法. (5认同)
  • 如果订单来自上方,这是可以理解的,但它几乎等于有人要求你在门上画一张锁的图片作为停止盗窃的快速修复. (3认同)