php文件包含
文件包含:通过一些文件包含的函数将本地或者远程服务器中问文件包含解析到当前服务器中,达到文件读取、代码利用、函数调用等目的。
Include“文件名” == include(“文件名”)
<?php
include ("1.html");
Include_once
<?php
include_once("1.html");
echo "123";
去包含文件时,后者只需要包含一次,当找不到要包含的文件,会警告,但后续代码依旧会执行
<?php
include_once("x.html");
echo "123";
Require
Require_once包含文件是,后者需要包含一次即可,当找不到包含的文件时,会直接报错并且后续代码不执行
<?php
require_once("1.html");
echo "123";
<?php
require_once("x.html");
echo "123";
包含过来的文件中,只要文件中代码是标准格式的php代码就会被解析,文件格式不影响。如果没有php代码,就会显示文件内容。文件包含的文件路径可以是绝对路径,也可以是相对路径。
Copy good.png/b+shell.php/a bad.png(windows本地生成图片马)
good.png是一个正常的图片,/b表示比特流文件
Shell.php这是木马文件或者含有php代码的文件,后缀名不做要求,/a表示是ascll文件
Bad.png这是生成的图片马
用php报错查看文件
<?php
@include($_GET["filename"]);//会警告,但是@隐藏警告信息,这个时候可以通过对filename的赋值实现对文件的查看
在上两级文件路径下也有相同文件,可以通过../../回到上两级目录下
Linux读文件时需要注意web服务对应的权限
在网站根目录创建index.php文件
给filename赋值实现想要的操作。