PHP中 htmlspecialchars() 函数的具体作用
有的时候,我们在做防止注入的时候,都会加上一句这个
htmlspecialchars($value); 
但是这样并不是万事大吉了,我们先来看一看这个函数的官方文档中的介绍:
//把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:
| 显示结果 | 描述 | 实体名称 | 实体编号 | 
|---|---|---|---|
| 空格 |   |   | |
| < | 小于号 | < | < | 
| > | 大于号 | > | > | 
| & | 和号 | & | & | 
| “ | 引号 | " | " | 
| ‘ | 撇号 | ' (IE不支持) | ' | 
| ¢ | 分(cent) | ¢ | ¢ | 
| £ | 镑(pound) | £ | £ | 
| ¥ | 元(yen) | ¥ | ¥ | 
| € | 欧元(euro) | € | € | 
| § | 小节 | § | § | 
| © | 版权(copyright) | © | © | 
| ® | 注册商标 | ® | ® | 
| ™ | 商标 | ™ | ™ | 
| × | 乘号 | × | × | 
| ÷ | 除号 | ÷ | ÷ | 
以上表格是常用的HTML实体字符,可以看出,这个函数确实会能抵挡一些攻击,但是还是会有一些其他的攻击手段,这个函数就无能为力了,所以这时候我们可以再补充一些特换方法,用替换手段来完成过滤函数,举个例子:
$str = str_replace('%', '', $str);
想要完整防止攻击,要做的事情还有很多,这里就不一一举例了

	
还没有任何评论,你来说两句吧