shakukansp
V2EX  ›  问与答

预览 html 的需求

  •  
  •   shakukansp · Mar 14, 2022 · 2676 views
    This topic created in 1703 days ago, the information mentioned may be changed or developed.

    用户上传 html ,然后需要预览 如果用 xss 这个库过滤一下的话 hrml 里面的 js 和 css 都没了 有什么方法可以完整展示 html 然后避免 xss 攻击的危险? 现在想的是单独用一个 nodejs 服务渲染,这样有风险吗

    12 replies  •  2022-03-15 09:05:22 +08:00
    cozof
    cozof
    Mar 14, 2022 via iPhone
    1
    只要预览?写一个程序 调用无头浏览器打开 html 并截图。
    shakukansp
    shakukansp
    OP
    Mar 14, 2022
    2
    @cozof 要网页打开……
    shakukansp
    shakukansp
    OP
    Mar 14, 2022
    3
    是这样,用户在网页上传一个 html 文件,用户不想下载了以后再打开文件,就要在网页上能预览
    eason1874
    eason1874
    Mar 14, 2022❤️1
    4
    最简单有效的方法就是用一个专用域名去打开预览页面,比如你的域名是 v2ex.com ,用户内容放到 example.com
    cozof
    cozof
    Mar 14, 2022 via iPhone
    5
    允许 js 、css 的情况下想防 xss 几乎是不可能的。
    TomVista
    TomVista
    Mar 14, 2022
    6
    iframe 啊....
    vivipure
    vivipure
    Mar 14, 2022
    7
    如果只是个人用户上传,且只有上传者可以看到该页面的话。不做处理也可以,主要看业务需求吧
    mctgyt
    mctgyt
    Mar 14, 2022
    8
    几乎不可能
    loading
    loading
    Mar 14, 2022
    9
    @eason1874 #4 秒啊
    ysc3839
    ysc3839
    Mar 14, 2022 via Android
    10
    iframe sandbox 也许可行
    dcsuibian
    dcsuibian
    Mar 14, 2022
    11
    iframe 啊,基本就是当沙盒用
    dddd1919
    dddd1919
    Mar 15, 2022
    12
    想预览 html ,直接双击在浏览器打开不就好了么,在线预览 html 。。。。。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1099 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 17:48 · PVG 01:48 · LAX 09:48 · JFK 12:48
    ♥ Do have faith in what you're doing.