用户上传 html ,然后需要预览 如果用 xss 这个库过滤一下的话 hrml 里面的 js 和 css 都没了 有什么方法可以完整展示 html 然后避免 xss 攻击的危险? 现在想的是单独用一个 nodejs 服务渲染,这样有风险吗
1
cozof 2022-03-14 18:29:01 +08:00 via iPhone
只要预览?写一个程序 调用无头浏览器打开 html 并截图。
|
2
shakukansp OP @cozof 要网页打开……
|
3
shakukansp OP 是这样,用户在网页上传一个 html 文件,用户不想下载了以后再打开文件,就要在网页上能预览
|
4
eason1874 2022-03-14 18:48:48 +08:00 1
最简单有效的方法就是用一个专用域名去打开预览页面,比如你的域名是 v2ex.com ,用户内容放到 example.com
|
5
cozof 2022-03-14 18:50:59 +08:00 via iPhone
允许 js 、css 的情况下想防 xss 几乎是不可能的。
|
6
TomVista 2022-03-14 18:55:53 +08:00
iframe 啊....
|
7
vivipure 2022-03-14 18:57:50 +08:00
如果只是个人用户上传,且只有上传者可以看到该页面的话。不做处理也可以,主要看业务需求吧
|
8
mctgyt 2022-03-14 19:02:23 +08:00
几乎不可能
|
10
ysc3839 2022-03-14 20:44:31 +08:00 via Android
iframe sandbox 也许可行
|
11
dcsuibian 2022-03-14 20:54:15 +08:00
iframe 啊,基本就是当沙盒用
|
12
dddd1919 2022-03-15 09:05:22 +08:00
想预览 html ,直接双击在浏览器打开不就好了么,在线预览 html 。。。。。。。
|