繁体   English   中英

如何给用户临时访问特定链接的权限?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM