Php 哪种方法更安全/更适合使用.htaccess阻止对子目录的访问?
我正试图使用Php 哪种方法更安全/更适合使用.htaccess阻止对子目录的访问?,php,.htaccess,url-redirection,Php,.htaccess,Url Redirection,我正试图使用.htaccess阻止外部访问我网站的/includes/目录,该目录仅包括处理PHP文件。下面的两种方法都“有效”,但我更喜欢后者,因为它不会给用户留下错误页面。有人能告诉我它是否不太安全吗 使用此选项是否更好: <Directory "/includes"> Deny from all </Directory> 还是其他更合适的方法 网站内容由index.php动态提供,因此/includes/文件夹中的文件需要通过php的include函数保持可访
.htaccess
阻止外部访问我网站的/includes/
目录,该目录仅包括处理PHP
文件。下面的两种方法都“有效”,但我更喜欢后者,因为它不会给用户留下错误页面。有人能告诉我它是否不太安全吗
使用此选项是否更好:
<Directory "/includes">
Deny from all
</Directory>
还是其他更合适的方法
网站内容由index.php动态提供,因此
/includes/
文件夹中的文件需要通过php
的include函数保持可访问性 或者,您可以返回404,让人们认为includes目录根本不存在:
RewriteEngine On
RewriteRule ^includes/ - [L,R=404]
点击您的/includes/目录的访问者应该得到一条错误消息。虽然现在我想,“RedirectMatch”否认了坏家伙的信息,这是好事。我倾向于同意,但是我想确保任何错误的链接不会用技术错误消息吓跑我的用户!这与
RewriteCond%{REQUEST\u FILENAME}-s[或]RewriteCond%{REQUEST\u FILENAME}-l[或]RewriteCond%{REQUEST\u FILENAME}-d RewriteRule^.*$-[NC,l]
和ErrorDocument 404/404
结合使用,效果非常好。前者使存储在includes文件夹中的样式表保持工作状态,后者允许我指定一个自定义404页面(这是动态加载页面所必需的)。谢谢
RewriteEngine On
RewriteRule ^includes/ - [L,R=404]