簡體   English   中英

'innerText'會阻止XSS嗎?

[英]Does 'innerText' prevent XSS?

如果我要在我的網站上顯示用戶生成的輸入,通過在javascript中執行Element.innerText = "user input"來顯示它是否足夠安全,或者我是否需要另外過濾輸入以防止XSS?

'innerText'會阻止XSS嗎?

並非在所有情況下! 以下摘錄來自OWASP基金會關於innerText不安全用法

被認為是安全的屬性的一個例子是innerText。 一些論文或指南主張將其用作innerHTML的替代方案,以減輕innerHTML中的XSS。 但是,根據應用innerText的標記,可以執行代碼。

內容提供了以下示例(為清楚起見,我已對其進行了修改)

 const tag = document.createElement("script"); tag.innerText = `console.log('Inner Text Used')`; document.body.appendChild(tag); //executes code 


但是,在大多數情況下,innerText是用於阻止XSS的方法,並且還記錄在OWASP上

...使用innerText / textContent。 這將解決問題,並且它是重新調解基於DOM的XSS漏洞的正確方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM