Php Don';我不想从浏览器url显示我的文件夹文件结构
我不想显示我的图像、zip文件或任何其他文件。因为所有这些都是非常重要的文件 假设我的图片url喜欢它Php Don';我不想从浏览器url显示我的文件夹文件结构,php,.htaccess,security,Php,.htaccess,Security,我不想显示我的图像、zip文件或任何其他文件。因为所有这些都是非常重要的文件 假设我的图片url喜欢它 http://www.example.com/users/upload/images/example.jpg 如果任何人都可以使用下面的url和浏览器url,那么他们就可以看到我的所有其他图像 http://www.example.com/users/upload/images/ 我不想显示我的图像文件,或者我想显示未找到的404页面 有人知道上述问题的解决方案吗?您可以使用.htacce
http://www.example.com/users/upload/images/example.jpg
如果任何人都可以使用下面的url和浏览器url,那么他们就可以看到我的所有其他图像
http://www.example.com/users/upload/images/
我不想显示我的图像文件,或者我想显示未找到的404页面
有人知道上述问题的解决方案吗?您可以使用.htaccess来实现这一点。
我猜
选项-索引到您的htaccess就可以了。您可以在该文件夹中放置一个.htaccess文件,其中只包含:
deny from all
这样,您就无法通过url打开该文件夹中的任何文件,但您可以将它们包含在php中而不会出现任何问题。在apache配置文件中尝试以下操作:
<Location />
Options -Indexes
</Location>
选项-索引
您可以为文件夹(图像)创建一个.htaccess
文件,该文件夹本应使用拒绝访问
Deny from all
或者您可以重定向到自定义404页面
Redirect /images/ 404.html
欲了解更多信息
http://www.sitepoint.com/htaccess-for-all/
除了向htaccess文件添加Options-index
之外,在您试图保护其结构的任何目录中添加/an index.html或index.php。这样,当用户导航到它们,而不是看到目录结构时,它们只会得到索引文件。索引文件不需要包含任何代码或文本。这是web服务器配置问题,而不是编程问题。你用的是什么服务器?对于Apache,Options-index
。然而,如果你有敏感文件,不是每个人都应该能够访问的,你不应该只依靠保持URL的模糊性。这是htaccess文件中的“选项-索引”吗?有没有办法隐藏任何特定的文件格式?如何将其重定向到404页面未找到?是的,您必须将其放入htaccess文件或vhost配置中。要隐藏特定的文件格式,请使用IndexIgnore
指令。并使用ErrorDocument
指令重定向到特定页面。确定。谢谢在执行上述配置后,是否会对我的应用程序产生任何影响?想在我的应用程序页面中显示任何图像我不这么认为,但请进行测试以确保:)(我不知道我是否清楚,但只有在没有放置选项-索引的情况下,您才可以使用索引,并确保将此配置放在正确的文件夹中。是否有任何选项可以重定向到404未找到的页面,在上述情况下?添加:ErrorDocument 404/yourfilename.htmlIs在应用程序中显示我的图像时有什么效果吗?没有。这只会阻止用户访问图像列表。如果需要错误文档,如果调用了/images/,请使用代码为403(=禁止)的ErrorDocument。因此,如果用户试图获取/images/则会显示一条单独的错误消息。在.htaccess文件中,只需包含选项-索引