php程序。
用户输入数据在存入数据库前 先 htmlspecialchars($data);
前台显示的时候 直接从数据库取出来然后 echo $data;
这样是否ok? 会有哪些潜在的危险 ?
还有什么更好的处理方式 ?
谢谢 !
用户输入数据在存入数据库前 先 htmlspecialchars($data);
前台显示的时候 直接从数据库取出来然后 echo $data;
这样是否ok? 会有哪些潜在的危险 ?
还有什么更好的处理方式 ?
谢谢 !
|
kmvanDec 13, 2014
1
我认为输入前不用处理(但要注意sql注入),输出前才去处理这样比较好,wp就是这样的。
(貌似我很多回答都拿 WP 做盾牌:D) |
|
inviteDec 13, 2014
3
要这么容易,还需要防XSS?
|
|
adjustedDec 13, 2014
4
直接输出应该不会有问题吧
|
|
txltyDec 13, 2014
6
防xss难点是富文本编辑器。
|
|
7
htmlspecialchars一般只能防范非富文本的内容
要是用了ueditor,tinyMCE之类的富文本编辑器,直接过滤html标签与<>这些敏感字符是不行的,php过滤富文本的库个人推荐htmlpurifier,但是针对富文本的过滤一般比较占用资源,建议入库前过滤 |
|
RyansDec 13, 2014
9
DOM XSS 有无了解?
|
|
zomcoDec 13, 2014
11
我的理解是,XSS本质上是输出点存在恶意脚本,输入什么是不用管的,输出点做好敏感字符过滤就可以了。再有,输入时做过滤的话,存到数据库里信息已经有损的了。。。
|