现在程序代码写的越来越千奇百怪,就一种文件包含的代码就能写出2种:require include
 
先说require 如果出错则终止输出,include 如果出错则继续执行。
 
如果一个网站的管理用户写在auth.php里,且auth.php被恶意删除了,如果用require则没有漏洞。
 
如果用include则产生漏洞,这是为什么?因为Include在遇到错误时会继续执行,这样用户密码就为空,就进入了后台。
 
再如果 一个网站 查看一条公告是链接式index.php?act=view&file=gonggao.php
 
而代码是
if ($act == “view”){  
  
$file = $_GET["file"];  
  
include $file;  
  
}  
 
乍一看到没什么问题,仔细一看,问题就出来了
 
$file 产生了一个包含漏洞
 
如果这个网站支持头像上传或者文件上传
 
配合这个漏洞
 
就可以取得网站的WEBSHELL
 

php文件包含漏洞的解决方法


 
 
 
 
修复方法:


1.最根本的,就是不用传递参数的include,并且配置文件能require就尽量require