[英]How to give users temporary access to specific links?
我看到人们通常在嵌入视频时会做很多事情。
它们具有带有时间戳的链接或GET值中的某些内容,这些链接允许用户临时访问文件。
目前,我的.htaccess文件只有Options -Indexes
(只是让他们根本无法访问目录。我知道这没有多大帮助)
我是否应该制作一个PHP脚本来存储与ip匹配且时间戳在30分钟后过期的特殊ID到sql db中? 我不知道这是否是解决此问题的最有效方法。
这样做的最好方法是什么?
您可以使用时间戳+保护哈希,例如:
创建链接时,您将执行以下操作:
define('SECRET',"onlyknownbyyourserversidescipt");
$now = time();
$protect = md5($now.SECRET);
$link = 'http://what.ever/?'.http_build_query(array('t'=>$now,'p'=>$protect));
链接打开后,您将检查时间是否与受保护的时间匹配
if(md5($_GET['t'].SECRET) === $_GET['p']){
//then you can check the time
if(time()-$_GET['t'] > 30*60){
header(..)
}else{
header(..)
}
}
没有人可以伪造时间戳,因为没人知道您的秘密
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.