允许PHP file_get_contents但限制对目录的所有其他公共访问

时间:2016-06-20 22:08:05

标签: php .htaccess pdf permissions

我有一个PDF文件目录,没有人能够访问,但该目录必须保留在webroot中。我使用file_get_contents访问PDF文件,以便在我的PHP脚本中使用(即base64_encoding和受保护的下载)。

我在目录中的.htaccess中尝试了以下不同的组合,但它要么限制所有访问,导致PHP脚本失败,要么允许所有用户完全访问。

order deny,allow
deny from all
allow from localhost
satisfy any

所有PDF文件均具有-rw-r--r--权限,并由apache用户拥有。

我应该在.htaccess文件中放置什么来阻止用户访问目录但允许PHP脚本访问?

1 个答案:

答案 0 :(得分:2)

如果您这样做:file_get_contents('http://www.example.com/pdfs/mypdf.pdf')那么它正在使用http。如果您这样做:file_get_contents('/public_html/pdfs/mypdf.pdf')则不然。只要您的代码和pdf驻留在同一文件系统上,在本地路径上拒绝所有htaccess并使用file_get_contents就可以满足您的要求。 (从评论中移开......)

相关问题