如何拒绝访问目录中的所有文件,但允许从其他目录中的特定php文件进行访问?

时间:2016-08-24 20:14:42

标签: php .htaccess directory

我有一个管理文件/上传内的jpg图像的网络应用程序。我想拒绝访问url:domain.com/upload/image.jpg中的所有图像/上传,但是授予访问/page.php的权限。我已经尝试了/upload/.htaccess但它也拒绝访问我的/page.php文件。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  

通过链接/upload/image.jpg

来加载图像

如果要从page.php生成的内容链接它们,那么使用htaccess阻止它的唯一方法是检查" Referer" (原文如此)标题。浏览器发送此标头,让服务器知道哪个URL告诉它加载该资源。如果有人直接转到图像,则引用者可能是空白的(例如,如果他们在URL地址栏中键入它)或者如果它是从/page.php链接的,那么引用者会说{{1} }。但是,引用者可以很容易伪造说什么,所以这不是阻止访问的可靠方法。

/upload/文件夹的htaccess文件中,尝试添加:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !/page\.php$
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^ - [L,F]