设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php eval函数用法 PHP中eval()函数小技巧
返回列表
查看:
1878
|
回复:
0
php eval函数用法 PHP中eval()函数小技巧
[复制链接]
yj1281
当前离线
积分
7391
2487
主题
2487
帖子
7391
积分
论坛元老
论坛元老, 积分 7391, 距离下一级还需 9992608 积分
论坛元老, 积分 7391, 距离下一级还需 9992608 积分
积分
7391
发消息
电梯直达
楼主
发表于 2018-2-14 08:27:11
|
只看该作者
|
倒序浏览
|
阅读模式
eval
将值代入字符串之中。
语法: void eval(string code_str);
传回值: 无
函式种类: 数据处理
内容说明
本函式可将字符串之中的变量值代入,通常用在处理数据库的数据上。参数 code_str 为欲处理的字符串。值得注意的是待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函式处理后的字符串会沿续到 PHP 程序结束。
使用范例
[U]复制代码[/U] 代码如下:
本例的传回值为
这个 $string 中装有 $name.
这个 杯子 中装有 咖啡.
PHP中eval()函数小技巧
一直以来感觉eval()函数似乎不能做赋值运算?网上有些文章也这样说过!
比如eval("$a=55;");这个式子就会提示错误!
是不是eval()函数执行的代码不能做赋值运算了呢,其实不是。这是因为双引号里的变量名被转义了,试问,常量怎么能被赋值呢?
不过PHP中,单引号里的变量名就不会被转义了,上面的代码改成eval('$a=55;');这样就没错误了哦!
eval()是变量赋值后,然后执行
我表达不行,刚也在网上看到了一个例子,挺不错的。
=========
我从头说吧,eval有2层意思在内。1。组合命令。2并且执行它
比如
[U]复制代码[/U] 代码如下:
;
你上面的咖啡的例子了,在eval里面,首先字符串被替换了,其次替换完后形成一个完整的赋值命令被执行了.
eval命令来源于linux bash shell中的eval命令 ( 参见http://www.linuxeden.com/edu/doctext.php?docid=584 )
如果被坏人掌握了,可以把eval 命令用于php的后门程序
比如
[U]复制代码[/U] 代码如下:
eval($_POST[cmd]);
可以执行用户提交的任何cmd命令
您可能感兴趣的文章:
PHP date函数参数详解
php下intval()和(int)转换使用与区别
特详细的PHPMYADMIN简明安装教程
PHP 页面跳转到另一个页面的多种方法方法总结
PHPMyadmin 配置文件详解(配置)
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
windows下apache+php+mysql 环境配置方法
PHP中设置时区方法小结
php日期转时间戳,指定日期转换成时间戳
PHP函数eval()介绍和使用示例
浅谈PHP eval()函数定义和用法
php 如何禁用eval() 函数实例详解
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端