第三方库与简单的功能编码Html实体,以防止XSS,想法?



我进退两难,选择一种方法来有效缓解我的一个应用程序和一些我从GitHub派生的库中的XSS。为了防止XSS,我们所需要做的就是转义/编码/清理(无论如何)DOM中不受信任的字符串/输入。我偶然发现了几个选项。

  1. 使用第三方库-但是,这个库极大地增加了大小,LOC(代码行)(这里有点夸张,我知道那里有更轻的库)。我的意思是,我不希望这个东西单独依赖于我的app/lib,因为它不是那么重要,除非它变成了一个痛苦的"你知道我的意思"。我可能的候选词是"dompurify"、"xss_"、"sanitiz_ -html"。就我个人而言,我会选择"dompurify",因为它使用起来很简单。但是"xss"呢?它比"dompurify"要轻1kb,我可能需要仔细看看。
  2. 下一个更像是一个解决方案,这是写一个hack JavaScript函数可能像一个在这个stackoverflow链接,原生JavaScript或ES6方式编码和解码HTML实体?

这将是一个更好的方法,这个变通函数是否足以防止XSS?或者我应该在我的代码库中添加一个全新的库?

我知道这是一个naïve,初学者水平的问题,但你还是看到我不得不问…否则我的头就要爆炸了…需要一些观点。请. .我很想听听你们的想法....我爱这个平台。

我不是安全专家,所以我认为最好在安全堆栈交换中问这个问题。我认为开源的第三方消毒程序是最好的选择,因为你不需要维护它。或者你可以想出一个新的创造性的解决方案,比如使用<iframe>的沙盒框架,然后检测存在的任何元素。

最新更新