php 入库前需要用 htmlspecialchars 把特殊字符"比如<等"转换吗?还是说原样入库,显示的时候用 htmlspecialchars?

2016-12-02 09:14:45 +08:00
 checkout
3878 次点击
所在节点    PHP
24 条回复
orderc
2016-12-02 09:18:53 +08:00
原样入库,输出转义
Time2
2016-12-02 09:19:18 +08:00
原样入库,保存攻击样本,输出做处理
snriud
2016-12-02 09:20:09 +08:00
入库不需要吧?不过记得转义引号。显示的时候用 htmlspecialchars 以防止有人插入不在预期内的标签。
linescape
2016-12-02 09:24:24 +08:00
strip_tags 去掉 script , nl2br 转一下换行,再 pdo 绑定插入,爱咋注入咋注入
MrJing1992
2016-12-02 09:29:45 +08:00
原样入库,输出转义。
否则,用户要编辑他的内容时,你没办法给他原来的内容。
realpg
2016-12-02 10:38:59 +08:00
原样入库 输出转义
搞不懂 ueditor 的傻逼逻辑 所有空格转成 nbsp 最后英文都不会换行
otakustay
2016-12-02 11:21:15 +08:00
@realpg 找人问了问, getContent 有一个 ignoreBlank 参数,设为 true 就不会转了
realpg
2016-12-02 11:25:59 +08:00
@otakustay
求详细
文档我都翻烂了
blank 相关的东西我也直接下载了整篇文档搜过了 只有 htmlPaser 里面有个跟 blank 相关的 是忽略内容里的 blank
otakustay
2016-12-02 11:51:23 +08:00
@realpg 我从 demo 上看似乎 getContent()本身就能获取你想要的内容,是否有些什么配置不大对?

realpg
2016-12-02 12:38:27 +08:00
@otakustay
你嵌入一个直接提交表单试试 都没用 getContent 直接提交表单的
sagaxu
2016-12-02 12:51:04 +08:00
url 转义, html 转义, xml 转义, sql 转义,正则转义,需要转义的地方很多,如果入库前就过滤,跟为了不得性病把自己阉了有什么区别?
lqs
2016-12-02 12:58:29 +08:00
原样入库,并使用默认打开转义的模版引擎来渲染前端。
lijinma
2016-12-02 13:03:30 +08:00
@sagaxu 你这个比喻很准确。。。
TaMud
2016-12-02 13:13:38 +08:00
原样入库!!!!
输出时,根据业务需求转义
省逻辑,省力
Felldeadbird
2016-12-02 13:14:04 +08:00
我是先转义在入库的。要是输出时没做过滤,不就产生了安全问题么。
linkdesu
2016-12-02 14:00:54 +08:00
@Felldeadbird 年轻人,听前辈们一句吧~~
bombless
2016-12-02 14:03:50 +08:00
你不原样入库就产生了很多逗逼应用的问题:在 app 看的时候多了很多&nbsp;之类的奇怪的东西 233
而且你的数据也可能会因为前端改版什么的需要以 JSON 之类的格式出现,到时候你准备怎么办 233
Felldeadbird
2016-12-02 15:15:38 +08:00
@linkdesu 反正我做了这么多年开发,没遇到过 先转义 有什么让人困惑的问题。
z5864703
2016-12-02 15:27:37 +08:00
在看到这帖子之前都是入库前过滤,现在改成了出库过滤了。。。
现在想了想,重点看业务,一般情况下输出过滤吧,比较好控制各种输出需求。不然把原始信息都丢了,到时候处理误报之类都没的搞了
msg7086
2016-12-03 00:25:26 +08:00
@Felldeadbird 首先你怎么转译?转成 HTML 要你输出 JSON 怎么办?
你做了这么多年开发,不会没碰过 HTML 以外的格式吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324725

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX