PHP安全应用之上传目录禁止执行php文件的方法
来源:绵阳动力网络公司  时间:2021-05-10  阅读:10

随时互联网的应用越来越广泛,随之带来网络安全也更加严峻,今天绵阳动力网络公司为大家介绍关于PHP网站中上传文件目录的执行功能。

在日常开发的网站中几乎都会用到上传功能,除了常用的图片和文档外,有可能会因为上传过滤不严格,被人上传php文件,一旦上传成功,并且被执行,那么整个网站都会被利用。关于上传程序上的漏洞我们不做讲解,因为使用的上传组件程序都不同,今天我们主要来讲解如果控制上传目录的执行功能。

需要防范的PHP文件有三种类型:

第一种类型:正常php文件,如:a.php

第二种类型:php扩展名有大小写,如:a.pHp/a.PHP/a.Php

第三种类型:双重扩展名文件,如:a.php.a/a.php.xml

说明:通常只考虑防范第一种,渗透攻击常使用第二种和第三种。

今天我们就来为大家介绍三种方法,推荐第一种方法,可以有针对性的应用到不同的目录。具体方法如下:

一、.htaccess文件 控制:

1、新建一个.htaccess文件,代码内容如下:

<Files ~ ".php">
Order allow,deny
Deny from all
</Files>


或者用下面的代码:

<FilesMatch "\.(?i:php|php3|php4|php5)">
Order allow,deny
Deny from all
</FilesMatch>


上传.htaccess文件到要禁止运行php的文件夹内

二、修改apache的配置文件httpd.conf

修改apache的配置文件httpd.conf,代码如下:

<Directory D:\wwwroot\public\uploads>
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>


或者用下面的代码:

<Directory D:\wwwroot\public\uploads>
<FilesMatch "\.(?i:php|php3|php4|php5)">
  Order allow,deny
  Deny from all
</FilesMatch>
</Directory>


三、网站根目录.htaccess文件控制

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]
好了,以上三种方法可以来实现禁止php中上传目录执行php文件的功能,同时也可以应用到其它的文件夹中来禁止执行功能。
 
  • 电话咨询

  • 0816-2318288