• 请不要在回答技术问题时复制粘贴 AI 生成的内容
breeswish
V2EX  ›  程序员

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

  •  
  •   breeswish · Dec 4, 2012 · 5236 views
    This topic created in 5085 days ago, the information mentioned may be changed or developed.
    如题。大家觉得哪种好呢
    17 replies  •  1970-01-01 08:00:00 +08:00
    tunetoystory
    tunetoystory
    Dec 4, 2012
    1
    看需求进行选择
    cxh116
    cxh116
    Dec 4, 2012
    2
    个人偏向输出时过滤,这样以后还可以修补
    输入时就过滤,以后出问题了改数据库麻烦
    zooandzoo
    zooandzoo
    Dec 4, 2012❤️1
    3
    输入,如果这个接口是开放的。。你要让对方自己去过滤去?
    gamexg
    gamexg
    Dec 4, 2012
    4
    建议输出,对外提供接口的话在接口处提供过滤就可以了。
    chloerei
    chloerei
    Dec 4, 2012
    5
    @zooandzoo 你在接口输出的时候过滤就行了。
    twm
    twm
    Dec 4, 2012
    6
    输入的时候进行效率高,以后查询不用做额外工作,但不够灵活。
    输出的时候进行效率地,以后查询需要做额外工作,但很是灵活。
    laiwei
    laiwei
    Dec 4, 2012
    7
    建议输出!
    MayLava
    MayLava
    Dec 4, 2012
    8
    ……我能很蛋疼的封装两个接口么?
    第一个接口是输出html的
    第二个接口是调用第一个接口然后过滤掉html
    binux
    binux
    Dec 4, 2012
    9
    来自开放用户,输入。其他,输出
    dallaslu
    dallaslu
    Dec 5, 2012
    10
    保存两份数据:

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

    好处:

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

    这是开发的原则问题。
    voidman
    voidman
    Dec 6, 2012
    14
    先过滤后输出
    breeswish
    breeswish
    OP
    Dec 6, 2012
    15
    @Evance 两次的话那怎么处理诸如&变&这种呢……
    breeswish
    breeswish
    OP
    Dec 6, 2012
    16
    @Evance & a m p ;
    hehe
    hehe
    Dec 6, 2012
    17
    个人偏向输入+输出
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2273 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 12:18 · PVG 20:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.