php环境中禁止指定目录执行php文件,比如discuz x


我们设置网站权限的时候,有些目录不得不设置让http服务器有写入权限,这样安全隐患就来了。比如discuz x2的 data目录,这个必须要有写入限,论坛才能正常运行,但有的黑客可能就会利用这个目录上传php文件(你会说附件上传已经限制这种格式的文件,但谁知道黑客会利用什么手段上传呢,只有他们清楚了),进而到配置文件读取到mysql的连接信息,那么你的数据库就是他的了。下面介绍apache和nginx下禁止指定目录执行php文件。

apache的配置

1

2

3

4

5

6

7

8

9

<Directory/home/centos/web/data>

php_flag engine off

</Directory>

<Directory ~"^/home/centos/web/data">

<Files ~".php">

Order allow,deny

Deny from all

</Files>

</Directory>

nginx的配置

1

2

3

4

5

6

7

8

9

10

location/data/{

location ~ .*.(php)?$ {

deny all;

}

}

location ~* ^/(attachments|upload)/.*.(php|php5)$

{

deny all;

}

相关内容

    暂无相关文章