參照:javascript
原理:利用頁面的輸入框,在其中寫一些javascript代碼,注入本身的惡意攻擊html
避免方法:不信任全部的輸入,即對其中的全部<,>等作轉義處理java
react能夠作到xss防禦:由於它會將全部輸入轉義,所以當它接受到輸入,並放到render中渲染時,輸入老是string。即web頁面中的輸入框,你輸入一段惡意代碼。當該form表單post到服務器時,服務器提取表單內容,將它們都作爲string處理,而不會作爲javascript,從而不會被注入惡意javascript。node
只有當你直接在render中寫相應的html、javascript代碼時,它們纔會被解析會相應的html、javascript。react也提供了相應的後門,即dangerouslySetInnerHTML。例如你想將輸入的markdown按預期輸出,而非普通string輸出,則能夠採用該後門來作。參照dangerously Set innerHTMl,turorial中的markdown處理react