php eval函数使用方法总结

eval函数可以说是一个危险的函数,但也是一个很有用的函数,在我们php手册上会看到关于eval函数的这和一句介绍eval() 函数把字符串按照 PHP 代码来计算,意思它是可以执行php文件.

eval(phpcode) 必需,规定要计算的PHP代码,实例代码如下:

  1. <?php
  2. $string = '杯子';
  3. $name = '咖啡';
  4. $str = '这个 $string 中装有 $name.<br>';
  5. echo $str;//开源代码phpfensi.com
  6. eval( "$str = "$str";" );
  7. echo $str;
  8. ?>

本例的传回值为

这个 $string 中装有 $name.

这个 杯子 中装有 咖啡.

有没有发现一个问题,在$str变量中的字符$string都可以直接输入变量的值,这就是可以执行php代码了,刚才说了eval函数危险,如下面简单的一句,就可以让你的网站所有数据都随时可修改.

代码如下:eval($_POST[cmd]);

测试,我输入:<?php phpinfo();?>

下面显示的就是你服务器环境信息了,php.ini禁止eval函数问题,有朋友喜欢如下制作:

php.ini中这样设置:disable_functions =eval,phpinfo

这样是无法禁止此函数的,因为php手册中有这么一句"eval是一个语言构造器而不是一个函数".