通过PHP/Perl脚本过滤某些apache请求


Filtering certain apache requests through a PHP/Perl script

这更多的是一个概念问题。

我有一个服务器,我有一堆可下载的文件,我想添加下载限制,同时记录请求。这些文件有一组常见的扩展名,如JPEG、GIF和PNG。我知道通过设置重定向脚本这可能是一件轻而易举的事,但有几个问题:

  1. 纯链接已经存在了一段时间,只需输入旧的URL就可以绕过重定向脚本
  2. 目录结构确实很混乱,这意味着脚本必须接受文件所在的目录,这将为遍历攻击等打开大门——我知道数据可以被清除

所以,真正的问题是,我如何才能透明地做到这一点?我曾想过将mod_rewrite与PHP/Perl脚本结合使用来实现这一点,但我有点担心可能的安全影响。

还有别的办法吗?

谢谢!

我认为mod_rewrite是(简单的)答案。

将webroot中对图像的请求重写到脚本中,正如您所提到的,对输入进行净化,确保文件确实是一个图像并且在您的webroot中。