Php 阻止脚本执行的子目录的htaccess

Php 阻止脚本执行的子目录的htaccess,php,Php,我有子目录“图片”,允许777上传访客的图片 此文件夹中有.htaccess文件,可防止脚本执行并提高安全性 <Files ^(*.jpeg|*.jpg|*.JPEG|*.JPG|*.png|*.gif)> order deny,allow deny from all </Files> <FilesMatch "\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$"> ForceType text/plain <

我有子目录“图片”,允许777上传访客的图片 此文件夹中有.htaccess文件,可防止脚本执行并提高安全性

<Files ^(*.jpeg|*.jpg|*.JPEG|*.JPG|*.png|*.gif)>
    order deny,allow
    deny from all
</Files>

<FilesMatch "\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
ForceType text/plain
</FilesMatch>

命令拒绝,允许
全盘否定
强制类型文本/纯文本
但当我在浏览器中请求images/page.php时,它正在工作,这意味着htaccess不工作。 我想阻止此文件夹从可执行文件中删除


我的.htaccess文件中是否有错误

当然,您可以访问所有的.php文件,因为您只禁止访问图像文件。我认为在第一个正则表达式的末尾也应该有一个$。也许你的意思是这样的:

<Files *>
    order deny,allow
    deny from all
</Files>

<Files ^(*.jpeg|*.jpg|*.JPEG|*.JPG|*.png|*.gif)$>
    order deny,allow
    allow from all
</Files>

<FilesMatch "\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
    ForceType text/plain
</FilesMatch>

命令拒绝,允许
全盘否定
命令拒绝,允许
通融
强制类型文本/纯文本

这里还有一条评论,我建议对脚本规则进行不区分大小写的检查,即:

<FilesMatch "(?i)\.(php5|php4|php|php3|php2|phtml|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
    ForceType text/plain
</FilesMatch>

强制类型文本/纯文本

这在我们的服务器上运行良好。

检查yes NullPointer,我的代码来自codex.wordpress.org/htaccess\u的子目录,但不起作用您知道
ForceType text/plain
将允许任何人下载您的PHP脚本的源代码吗?在您的情况下这不是问题,但要小心.thanx Adder,但php文件仍在images文件夹中工作,可能是.haccess从root.htaccess继承的。但如何避免呢