如何用一般规则来限制“太快”的下载?

时间:2017-01-05 作者:archivist.tr

我正在使用下载监视器插件和wordfence。文件太多,仅限成员和其他人下载。

这是我的问题描述;主要问题是用户反复单击相同的下载按钮。另一个问题是,网站内容和资源可能被利用。

%我的80个下载监视器日志记录显示,同一文件在同一时间段(几秒钟后)被下载了至少3-4次(某些情况下为6-7次),另一个是:我的站点大约有1000个文件要下载。用户(订阅者和来宾)可以不间断地下载;似乎是剥削。(顺便说一下,客人不能下载“会员专用”文件;这不是我要问的问题)

规范所有类型下载的一般规则:我认为,任何用户在任何下载后都可以延迟15秒,这是很公平的。我希望有另一种方法,而不是将ip号码记录到数据库中。

下面是一个示例站点,它与我想要的逻辑相同:http://altyazi.org/sub/s/420936/The-Sealed-Room.html在该页面上,如果您过早单击“altyaziyi indir”按钮,将看到一个空白页面,在新页面的左上角写着“flood control”。所以我不认为这个网站的系统正在记录我的ip,然后按时间间隔进行查询,并给出结果,因为防洪页面…操作似乎更简单。。

我向插件支持者询问了这个问题,但他们没有提供任何解决方案。我也在wordfence插件支持页面上询问过,但他们甚至没有返回。我问了托管公司,他们说“我们没有这样的服务”。

非常感谢您的耐心等待。如果您能为我提供一个解决方案,而不是雇佣开发人员或复杂的方式,我将不胜感激:)

1 个回复
SO网友:KAGG Design

您应该实现cookie。

在js文件中,您必须为Load按钮编写一个click处理程序。在处理程序中,您应该检查cookie是否已经存在。如果没有,则需要创建包含当前时间的cookie,并允许用户继续(传播单击事件)。

如果存在cookie,请将当前时间与cookie中存储的时间进行比较。如果间隔小于15秒,请阻止单击(preventDefault(),返回false)。

如果间隔超过15秒,请更新cookie并允许进一步执行click事件。

这是解决任务的算法框架。如果您对javascript有一定的经验,您可以自己创建这段代码。否则,最好雇佣一名开发人员。

相关推荐

更新页面(update-core.php)和插件页面(plugins.php)恢复到主页

我在Wordpress网站的管理视图中收到通知,我有一个网站和插件的可用更新(在我的网络管理仪表板中,在“插件”和“更新”旁边的红色圆圈中有“1”)。。。但当我尝试同时转到“更新”页和;插件页面,是否显示主页?此时的URL为http:///wp-admin/network/update-core.php/和http:///wp-admin/plugins.php/分别地因此,我永远无法到达真正的更新页面,也无法更新我的Wordpress或插件。如何显示更新或插件页面?