HTML过滤应当在输入时进行还是输出时进行?

2012-12-04 19:48:26 +08:00
 breeswish
如题。大家觉得哪种好呢
4126 次点击
所在节点    程序员
17 条回复
Rabbit52
2012-12-04 19:50:27 +08:00
看需求进行选择
cxh116
2012-12-04 20:13:18 +08:00
个人偏向输出时过滤,这样以后还可以修补
输入时就过滤,以后出问题了改数据库麻烦
zooandzoo
2012-12-04 20:19:48 +08:00
输入,如果这个接口是开放的。。你要让对方自己去过滤去?
gamexg
2012-12-04 20:49:09 +08:00
建议输出,对外提供接口的话在接口处提供过滤就可以了。
chloerei
2012-12-04 20:53:07 +08:00
@zooandzoo 你在接口输出的时候过滤就行了。
twm
2012-12-04 21:40:04 +08:00
输入的时候进行效率高,以后查询不用做额外工作,但不够灵活。
输出的时候进行效率地,以后查询需要做额外工作,但很是灵活。
laiwei
2012-12-04 21:45:01 +08:00
建议输出!
MayLava
2012-12-04 22:19:43 +08:00
……我能很蛋疼的封装两个接口么?
第一个接口是输出html的
第二个接口是调用第一个接口然后过滤掉html
binux
2012-12-04 23:12:41 +08:00
来自开放用户,输入。其他,输出
dallaslu
2012-12-05 09:38:49 +08:00
保存两份数据:

1、未经任何处理的原始数据
2、经过安全过滤的HTML代码

好处:

1、避免安全过滤方法的潜在缺陷影响内容
2、输出灵活,不需再次处理效率高
chloerei
2012-12-05 10:01:44 +08:00
输出过滤可以加 cache,性能和输入过滤一样。
xiaoks
2012-12-06 12:57:14 +08:00
输入输出都应该进行过滤 如果输入没有更好的过滤 很容易被绕过 还有非存储型xss 如果输出没处理 那就容易产生存储型xss 一样很可怕
Evance
2012-12-06 13:05:57 +08:00
输入输出都过滤。
什么性能什么麻烦在安全面前,其实优先级都不如它高。

这是开发的原则问题。
voidman
2012-12-06 16:27:43 +08:00
先过滤后输出
breeswish
2012-12-06 23:25:35 +08:00
@Evance 两次的话那怎么处理诸如&变&这种呢……
breeswish
2012-12-06 23:26:10 +08:00
@Evance & a m p ;
hehe
2012-12-06 23:30:53 +08:00
个人偏向输入+输出

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

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

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

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

© 2021 V2EX