【发布时间】:2011-05-12 18:32:12
【问题描述】:
我想限制对 Apache 中文件的访问。 受限制文件的列表应该是可变的。 如果文件访问受到限制并且未找到特定的 cookie,则用户 应该被重定向到一个网站(有可能获取 cookie) - 如果找到,文件将被“加载”。
我想用 mod_rewrite 解决这个问题。
我的想法是我将所有请求重定向到 handler.php 脚本。
这个“handler.php”查找请求并决定是否允许访问。到这里没问题。
现在的问题是 - 如果允许访问 - 必须加载文件。因此,我不知道 mime、filesize 等。
当然,我可以写类似的东西
if ($ext == '.jpg') header('Content-Type: ...');
但我不想使用这个解决方案,因为我想处理所有可能的文件(png、gif、exe、mp3、zip、ETC)。问题是我无法知道所有的 mime 类型。
如果我可以调用 Apache(在子请求中)来加载文件(这次没有 handler.php),那就太好了。
就我而言,我不想像 mod_auth 那样严格地保护资源,因为我只想为成熟的内容添加免责声明(包含血液且不适合儿童的绘画作品)。如果没有找到cookie,我想显示免责声明,如果cookie在那里,我可以显示图片。
【问题讨论】:
标签: php apache mod-rewrite web apache2