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