参照: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