如何限制用户在一个页面上只能访问一次


How to limit a user to one visit on a single page?

大家好,我讨厌在这里问愚蠢的问题,所以我希望这不是,我怎么去限制别人到我的下载页面?因此,如果他们试图再次访问该页面(不止一次)下载一些东西,它会重定向或最好改变下载链接到link 2然后Link 3,有没有可能做到没有数据库?

,

  1. 首次访问-主链接
  2. 第二次访问- link 2
  3. 第三次访问-链接3
  4. 4及以上访问无链接和重定向

也许是饼干?我真的不知道怎么做,我已经谷歌过了,但我的措辞肯定不在那里…

是否有一个名称或一个脚本?

感谢大家的宝贵时间。

A.实现预期目标的最佳方法是database。创建一个包含两列的数据库表:

(1)Page Visitors IP
(2)The Last Download link used by the visitor to download
 file(contents) from your website.

b . 你也可以在COOKIE的帮助下实现你的目标。

setcookie("Visitor IP", "Download Link used by the Visitor", $expire);

每次访问者访问您的网站,获取访问者IP并检查是否设置了$_COOKIE["Visitor IP"],如果设置了,则更新现有的Cookie,否则创建新的Cookie。

然而,使用Cookie并不是一种方便的方法,因为可能存在

  Browser does NOT Support Cookies.
  Client  alter the Cookies value and use the previous link for download.

所以,最简单和优雅的方法是,使用Database

乌利希期刊指南:*编写/设置数据库有多容易?

*

在php中设置/连接到数据库非常容易。请参考以下链接

编码也很简单。

-每当访问者点击下载链接时,通过POST或GET方法获取访问者IP ($fetched_IP)。同时获取访问者点击的链接($URL)。

- Query the database [eg: Select DB_IP,LASTLINK from database WHERE DB_IP=$fetched_IP.....]

-如果RowCount>0,则表示数据库中存在IP ($fetched_IP。查看$fetched_IP最后访问的链接

-如果是LASTLINK!=$URL,那么允许他从$URL下载内容。通过$URL更新数据库表中的LAST_LINK列。

-如果rowcount==0,(New User)插入包含DB_IP=$fetched_IP(Visitor IP)和LAST_LINK=$URL的行

一个简单的方法是使用哈希表(关联数组)。当它们满足访问文件的条件时,使用唯一url作为键并将文档路径作为值向哈希表添加一个条目。将其保存到会话中。当它们访问url时,页面会检查url是否在哈希表中。如果是,则从哈希表中删除url并流式传输文件。如果您希望允许多个用途,您可以将一个倒计时变量与url一起存储,该变量将在每次访问时递减,并且仅在计数为零时从哈希表中删除url。