PHP使用三次引号如何不出错,PHP双引号二次解释引来的安全问题_91Ri.org

本文介绍了PHP中单引号和双引号的使用区别,重点在于双引号会导致字符串内的变量被解析,可能引发安全问题。举例说明了直接赋值的字符串使用单引号可以避免不必要的变量解析,降低被恶意攻击的风险。同时,建议配置文件尽量少用双引号以提高安全性。此外,还讨论了单引号和双引号在效率上的差异,单引号通常更快。
摘要由CSDN通过智能技术生成

单引号和双引号的唯一的区别就是:

用单引号包起来的PHP解释器不会对其二次解释,而双引号却要二次解释,

看代码:

$a=8;

$b=8;

echo “$a+b$”.”
”;

echo ‘$a+b$’;

?>

这样我们知道了单引号与双引号的区别,但是这样会带来一个安全漏洞

$a=”${@phpinfo()}”;

?>

确实执行了,那么这就说明.直接赋值的字符串变量尽量用单引号.试试数组呢?

array(1=>”${@phpinfo()};”)

?>

数组也成功被解析了,这就意味这:作为配置文件,不能或尽量少用双引号,这样很容易被入侵或被恶意攻击。

拓展阅读:

关于PHP单引号和双引号的区别:

PHP会对用双引号包起来的字符进行解析,例如:

$str = ‘早上好’;

echo $str; //输出:早上好

echo “$str”; //输出:早上好

echo ‘$str’; //输出:$str

其实在之前的PHP100视频教程里我就讲过,单引号和双引号的区别和效率问题,但还是很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。

所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。

” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。

‘ ‘ 单引号里面的不进行解释,直接输出。

从字面意思上就可以看出,单引号比双引号要快了。

例如:

$abc = ‘my name is tome’;

echo $abc //结果是:my name is tom

echo ‘$abc’ //结果是:$abc

echo “$abc” //结果是:my name is tom

link:http://www.cnseay.com/archives/1987

http://www.waitalone.cn/post/1303.html

由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值