限制单击链接的次数

时间:2012-11-21 14:31:39

标签: php wordpress

我需要限制人们下载pdf的次数(至500)。理想情况下,它会将点击次数计算为500,然后删除链接。我突然意识到我还需要阻止每个人多次点击。基本上我被要求允许前500人下载文件,然后结束它。 PHP或javascript将是首选(它在wordpress网站上)

问候

3 个答案:

答案 0 :(得分:5)

您不希望限制点击链接的次数,您希望限制特定链接返回PDF文件的次数。

换句话说,您的链接不应直接指向所请求的资源(PDF),而应指向可以断言文件未下载超过500次的PHP文件。

以下是an example如何将www目录以外的文件输出到浏览器。

答案 1 :(得分:0)

链接到PHP脚本,该脚本将控制访问并在允许的情况下提供PDF(例如readfile()。使用$_SESSION管理单个用户下载的次数 - 更新后的值下载。

使用数据库表或其他数据源来计算总下载量,以便在达到500时,您可以拒绝对PDF的所有访问。

答案 2 :(得分:0)

要扩展Sherlock的解决方案,您希望将PDF隐藏在PHP文件后面。当我说隐藏时,我的意思是将它放在一个无法直接访问的地方:考虑将其移出“www root”或使用.htaccess来防止直接访问文件。如果文档可以猜测并且公开可用,大多数高级用户都会知道如何访问PDF。

您的PHP应该只执行以下操作:

  • 检查文档的下载次数是否少于500次,或者用户的IP是否已“解锁”文档(您可能希望允许用户可以再次下载文档的“窗口” - 有些人会{ {1}}文件实际需要open时,并且不知道如何从阅读器保存到磁盘上 - 否则会显示错误
  • 存储此文档的用户的IP地址
  • 发送文件类型的相应标头:save
  • 发送文件名:header('Content-type: application/pdf');
  • 发送文件内容:header('Content-Disposition: attachment; filename="the document.pdf"');
相关问题