geeglo
V2EX  ›  问与答

论坛程序既要支持富文本,又要防止 XSS,有没有现成的过滤类使用?

  •  
  •   geeglo · Jul 24, 2015 · 3593 views
    This topic created in 3974 days ago, the information mentioned may be changed or developed.
    这个问题纠结了好久,至今没有找到合适的解决办法。

    能否有老司机带一下路。

    不能用Markdown,用户应该听都没听过这个语法,纯文本的话,太单调了。

    我用PHP
    14 replies    2015-07-25 10:56:15 +08:00
    xiaojj
        1
    xiaojj  
       Jul 24, 2015   ❤️ 1
    kses
    yahoo21cn
        2
    yahoo21cn  
       Jul 24, 2015
    换django
    fwrq41251
        3
    fwrq41251  
       Jul 24, 2015   ❤️ 1
    geeglo
        4
    geeglo  
    OP
       Jul 24, 2015
    @yahoo21cn 还没PHP用的熟练,换不动。
    g0thic
        5
    g0thic  
       Jul 24, 2015
    是说编辑器嘛? http://ckeditor.com/ 可以看看
    mcfog
        6
    mcfog  
       Jul 24, 2015   ❤️ 1
    ubb

    如果一定要走html的话,去drupal之类的地方找xss类就好
    kungfuchicken
        7
    kungfuchicken  
       Jul 24, 2015   ❤️ 1
    你需要的是htmlpurifier,它可以让你安全使用html标签又不会被XSS
    http://htmlpurifier.org/
    guchengf
        8
    guchengf  
       Jul 24, 2015
    otakustay
        9
    otakustay  
       Jul 24, 2015   ❤️ 1
    用户不关心语法,只关心有多少功能,所以编辑器好的话你依旧可以不用HTML
    推荐BBCode为基础的编辑器,都有比较成熟的方案
    qsl0913
        10
    qsl0913  
       Jul 24, 2015
    非常同意楼上的
    pubby
        11
    pubby  
       Jul 25, 2015
    很久以前,我是这么干的:

    tidy扩展
    走一遍文档树,危险的标签砍掉,危险的属性砍掉,重新合成html,保存入库。
    Dowding
        12
    Dowding  
       Jul 25, 2015 via Android
    Dowding
        13
    Dowding  
       Jul 25, 2015 via Android
    @takashiki 手滑
    lianyue
        14
    lianyue  
       Jul 25, 2015
    https://github.com/lian-yue/dom

    php 写的html dom 解析器 和 css解析器
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1180 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 23:33 · PVG 07:33 · LAX 16:33 · JFK 19:33
    ♥ Do have faith in what you're doing.