2012-11-05 70 views
3

我有子目录“图像”许可777上传从观众 图像此文件夹中有.htaccess文件,以防止脚本的执行和更安全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文件

+0

检查http://codex.wordpress.org/htaccess_for_subdirectories –

+0

是空指针,我的代码codex.wordpress.org/htaccess_for_subdirectories但不工作 – user1799572

+0

你知道,'ForceType指令文本/ plain'将允许任何人下载您PHP脚本的源代码?你的情况不是问题,但要小心。 –

回答

0

当然你也可以访问所有.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> 
+0

thanx加法器,但php文件仍然在图像文件夹中工作, 可能是.hccess从根.htaccess继承。但如何避免它 – user1799572

0

还有一个评论,我会建议为不区分大小写检查脚本的规则,这将是:

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

也能正常工作为我们的服务器。