首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >阻止通过http直接访问文件,但允许php脚本访问

阻止通过http直接访问文件,但允许php脚本访问
EN

Stack Overflow用户
提问于 2010-04-21 08:04:58
回答 7查看 136.9K关注 0票数 76

我正在将我的文件(pdf、doc、flv等)加载到一个缓冲区中,并使用脚本将它们提供给我的用户。我需要我的脚本能够访问文件,但不允许直接访问它。实现这一目标的最好方法是什么?我应该用我的权限做些什么,还是用.htaccess锁定目录?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-04-21 08:29:49

最安全的方法是将你想要保存的文件放在web根目录之外,就像Damien建议的那样。这是因为web服务器遵循本地文件系统权限,而不是它自己的权限。

然而,有很多托管公司只给你访问web根目录的权限。为了仍然阻止对这些文件的HTTP请求,请将它们单独放入一个目录中,其中包含一个阻止所有通信的.htaccess文件。例如,

代码语言:javascript
复制
Order deny,allow
Deny from all

您的web服务器以及您的服务器端语言仍然可以读取它们,因为目录的本地权限允许web服务器读取和执行这些文件。

票数 99
EN

Stack Overflow用户

发布于 2012-03-21 15:13:11

这就是我如何阻止URL直接访问我的ini文件的方法。将以下代码粘贴到根目录下的.htaccess文件中。(无需创建额外的文件夹)

代码语言:javascript
复制
<Files ~ "\.ini$">
  Order allow,deny
  Deny from all
</Files>

我的settings.ini文件在根目录下,没有这段代码就可以访问www.mydomain.com/settings.ini

票数 35
EN

Stack Overflow用户

发布于 2016-01-12 20:02:26

在httpd.conf中,阻止浏览器和wget访问包含文件,特别是db.inc或config.inc。注您不能在指令中链接文件类型,而是创建多个文件指令。

代码语言:javascript
复制
<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>

在重新启动apache之前测试您的配置

代码语言:javascript
复制
service httpd configtest

然后(平滑重启)

代码语言:javascript
复制
service httpd graceful
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2679524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档