php中的eval()与create_function()
内容导读
收集整理的这篇技术教程文章主要介绍了php中的eval()与create_function(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1092字,纯文字阅读大概需要2分钟。
内容图文
* eval()与create_function()* 一、eval()
* 1.eval()函数把字符串按照 PHP 代码来计算
* 2.该字符串必须是合法的 PHP 代码,且必须以分号结尾
* 3.如果没有在代码字符串中调用 return 语句,则返回 NULL
* 4.如果代码中存在解析错误,则 eval() 函数返回 false
* 5.该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用
* 二、create_function('参数','函数体代码'):创建匿名函数
//以下二条语句功能完全一样
eval('echo 4+5;'); //输出9echo eval('return 4+5;'); //返回9并显示在屏幕上
//尽管上面二条语句功能一样,但返回值不相同
//所以,如果想要引用eval()返回值,必须在语句字符串中使用return
var_dump(eval('echo 4+5;')); //返回 NULLvar_dump(eval('return 4+5;')); //返回 9
//eval()注入攻击演示
isset($_GET['p']) ? eval($_GET['p']) : null;
//现在在url后面添加 ?p=phpinfo(); 或其它php合法语句,会直接执行,注入成功
//你可以加入你的广告,你的跳转地址等,达到恶意攻击的目的
//用create_functoin()创建匿名函数
//因为该函数已被弃用,部分编辑器会给出警告,多说无益
//知道这个函数曾经来过这个世界上就足够了
$func1 = create_function('$a,$b', 'return ($a+$b);');echo $func1(10,20);
以上就是php中的eval()与create_function()的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php中的eval()与create_function()全部内容,希望文章能够帮你解决php中的eval()与create_function()所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。