预览 html 的需求

2022-03-14 17:35:50 +08:00
 shakukansp

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

1739 次点击
所在节点    问与答
12 条回复
cozof
2022-03-14 18:29:01 +08:00
只要预览?写一个程序 调用无头浏览器打开 html 并截图。
shakukansp
2022-03-14 18:29:39 +08:00
@cozof 要网页打开……
shakukansp
2022-03-14 18:31:30 +08:00
是这样,用户在网页上传一个 html 文件,用户不想下载了以后再打开文件,就要在网页上能预览
eason1874
2022-03-14 18:48:48 +08:00
最简单有效的方法就是用一个专用域名去打开预览页面,比如你的域名是 v2ex.com ,用户内容放到 example.com
cozof
2022-03-14 18:50:59 +08:00
允许 js 、css 的情况下想防 xss 几乎是不可能的。
TomVista
2022-03-14 18:55:53 +08:00
iframe 啊....
vivipure
2022-03-14 18:57:50 +08:00
如果只是个人用户上传,且只有上传者可以看到该页面的话。不做处理也可以,主要看业务需求吧
mctgyt
2022-03-14 19:02:23 +08:00
几乎不可能
loading
2022-03-14 19:16:46 +08:00
@eason1874 #4 秒啊
ysc3839
2022-03-14 20:44:31 +08:00
iframe sandbox 也许可行
dcsuibian
2022-03-14 20:54:15 +08:00
iframe 啊,基本就是当沙盒用
dddd1919
2022-03-15 09:05:22 +08:00
想预览 html ,直接双击在浏览器打开不就好了么,在线预览 html 。。。。。。。

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

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

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

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

© 2021 V2EX