保护用户页面标记不受脚本插入等的影响

时间:2017-11-29 00:31:09

标签: javascript html css cgi

我正在编写一个页面,我希望让用户将自己的HTML输入到一个可信的div中,我抓住并按下按钮显示。

到目前为止:

  • 他们点击"测试"按钮
  • 我从div.innerText
  • 中取出内容
  • 我用“#34;脚本"”这个词擦除它,将其替换为!--
  • 我用“" exec"”来代替它,用!--替换
  • 我擦除了#34;包含",替换为'!--'
  • 我用“#34;虚拟"”字样清除它,替换为'!--'
  • 我擦除了服务器cgi的路径,替换为'!--'
  • 然后我将其余的东西铲成另一个div.innerHTML进行展示。

就此而言,它正在发挥作用。

我应该对他们输入的内容做些什么来防止脚本或其他恶意插入?

如果可能,目标是允许几乎任何HTML或CSS,但不允许脚本活动。一个沙箱,他们可以有意或无意地弄乱他们想要的页面,但就服务器本身而言,这是安全的。

0 个答案:

没有答案