临时链接

时间:2011-05-13 13:43:52

标签: php .htaccess hyperlink

我在许多下载服务器上看到在特定时间内为特定IP创建的虚拟链接。

我想知道这是由PHP还是.htaccess完成的,以及如何完成?

感谢。

5 个答案:

答案 0 :(得分:1)

.htaccess只是一种基于每个目录为一些流行的Web服务器设置配置指令的方法。

您需要在某些时候进行编程。 PHP是一个选项,还有很多其他选项,我的偏好是Perl。

解决方案基本归结为:

  1. 生成代码以响应您喜欢的任何条件
  2. 将其存储在某处(例如数据库),其中包含IP地址,创建时间以及与
  3. 相关联的内容
  4. 在使用该代码的网址被点击时查找,然后以相关内容的禁止回复
  5. 定期清理脚本以删除旧条目并使数据库保持较小

答案 1 :(得分:1)

通常使用.htaccess重写规则和php脚本完成。

How to create temporary urls to prevent hotlinking in php?中的回答包含一些您应该能够使用的有用信息和示例理论。

答案 2 :(得分:0)

它涉及两个步骤:

  1. 生成链接(在php级别完成)。
  2. 根据网址路由请求。
  3. 步骤2通常涉及正则表达式,可以在.htaccess级别或php级别完成。如果您缓存生成的URL,它也可以使用数据库查询。

    有关实现的详细信息,您可能需要查看MVC框架。它们都有某种Router对象,例如:

    http://symfony.com/doc/current/book/routing.html

答案 3 :(得分:0)

header('Content-Type: application/force-download');

$file = 'yourfilename.pdf';
$fileLocation = dirname(__FILE__) . "/..anyfolder/" . $file;
header('Content-Length:' . filesize($fileLocation));
header("Content-Disposition: inline; filename=\"".$file."\"");
$filePointer = fopen($fileLocation,"rb");
fpassthru($filePointer);

答案 4 :(得分:0)

您可以深入了解codecanyon商业脚本“受保护的链接 - 过期链接”。它会创建按时间,下载次数和IP到期的下载链接。

http://codecanyon.net/item/protected-links-expiring-download-links/2556861