我为其他人创建了一个axtra ftp帐户,因此他可以上传文件。(锦标赛结果,大约20/30 htm文件和图片) 我也非常偏执,所以如果他上传“可能危险”的文件,我不希望通过http请求访问这些文件。在PHP的帮助下,我想获取这些文件的内容。 (我不认为有麻烦)
问题: 我的主机不允许额外的ftp帐户访问public_html之外。 所以我认为htacces应该解决我的问题。只是否认所有规则。 但是使用ftp access,可以删除或更改此htaccess文件。
所以我尝试在我的网站根目录中的主htacces文件中添加以下代码:
<Directory "/home/xxxx.nl/public_html/xxxxxxxx.nl/onzetoernooien/swissmaster_ftp">
deny from all
</Directory>
我的网站因内部服务器错误而挂起。 我无法访问httpd文件。
我的想法是在此目录上方使用htacces文件。 如果绝对路径不正确,我可以使用某种通配符,如* swissmaster?
我在Apache网站上搜索过,但是我在大量的信息中迷失了。
提前感谢您的帮助!
答案 0 :(得分:1)
不幸的是,您不能在.htaccess中使用<Directory>
部分,只能在服务器配置文件中使用。这会导致服务器错误(检查错误日志,您将看到错误消息)。我们无法保护带有<Filesmatch "subdir/.*$">
的子目录,因为FilesMatch仅检查所请求URI的文件名部分。
但是,你可以按照以下几行使用mod_rewrite:
RewriteEngine on
RewriteRule ^subdir.*$ - [NC,F]
如果请求的URI与正则表达式模式subdir.*
匹配(所以“subdir”后跟其他任何内容;您可能需要调整模式,因为它也很乐意捕获subdir_new / something.txt - 我确定你明白了,然后mod_rewrite的F flag将返回403 Forbidden状态(NC代表No-Case,使模式不区分大小写)。