我正在使用JavaScript編碼的一些頁面應用程序當前使用lodash。我想,以防止跨站腳本(XSS)使用標準函數庫:JavaScript庫或Esapi阻止XSS - 轉義和編碼不受信任的數據
1)擺脫依賴於它的目的地CSS,HTML,HTMLAttribute的JavaScript,JSON等編碼輸出的所有不可信的內容
2)
我已經看到了很多堆棧溢出的答案,但是他們沒有在標準庫中提供完整的規範化/編碼解決方案,我可以編寫靜態測試以確保開發人員使用該庫。
是否有esapi或類似的「光」庫,我只能用於JavaScript?
我已經看到了OWASP ESAPI和jQuery的編碼器插件 https://github.com/chrisisbeef/jquery-encoder 和Salesforce的編碼器https://github.com/salesforce/secure-filters
在這一刻,我只輸入進行規範化和編碼輸出感興趣。 我也在尋找一些當前的,維護良好,理想情況下不依賴於其他圖書館。
任何人都可以提出最好的方法來使用?
感謝您的回答。 框架?是。我們處於我們擁有來自傳統和不同第三方的數字的位置。 並非所有項目都使用jQuery。 我正在尋找一個自包含的圖書館的原因之一。 感謝DOMPurify - 我會進一步調查 您對我如何使用「靜態分析」來嘗試確保開發人員做正確的事情有任何想法嗎? – user2684122
對於JavaScript,只需以'\ xNN'格式對所有非字母數字進行編碼。這樣你就不必加倍編碼,因爲你不會得到任何需要HTML編碼的東西。如果您需要在此處插入動態內容,請注意任何URL參數,因爲這些參數可能以'javascript:'URLs結尾,白名單爲'http://'和'https://'。 – SilverlightFox