我想只允许用户点击一次链接,例如:
http://www.blah.com/download.php?file=zFZpj4b2AkEFz%2B3O
每个用户都有一封带有唯一链接的电子邮件,当他们点击它时,我想在SERVER上设置一个cookie,所以我知道要再次拒绝该链接的访问权。
欢迎任何想法。
谢谢。
答案 0 :(得分:1)
在download.php上检查是否存在像AlreadyAccessed这样的cookie,如果存在,则拒绝下载,否则开始下载文件并设置cookie。就是这样
答案 1 :(得分:1)
阻止重复下载可能会导致问题(尤其是导致页面刷新的Internet Explorer文件阻止程序)。
Cookie是错误的答案,因为用户所要做的就是使用其他浏览器/计算机或清除其Cookie以重新下载。
如果你迫不及待地想要这样做
在文件系统上创建指向真实文件的符号链接,并将该链接命名为与该键相同的链接。
处理页面请求时:
答案 2 :(得分:0)
Cookie存储在客户端,而不是服务器端,因此这不是正确的选择。如果用户删除了您网站的cookie,他将能够规避任何基于cookie存在/价值的检查。
您可以在发送链接时在服务器上创建具有特定名称的文件,并在访问该链接后将其删除。如果有人第二次尝试访问该链接,则“flag”文件将不存在,您将知道它是重复(或无效)链接。
(对于数据库会更好,基于文件的检查很难以非活泼的方式进行。)