2015-11-11 2 views
20

私はReactチュートリアルでこれを読んでいます。これは何を意味するのでしょうか?ReactがXSSで保護されているとはどういう意味ですか?

React is safe. We are not generating HTML strings so XSS protection is the default. 

リアクションが安全でない場合、XSS攻撃はどのように機能しますか?この安全はどのように達成されていますか?

答えて

27

反応すると自動的にすべてがエスケープされます。

ので、例えば、あなたが、あなたは文字通りページ<span>要素を含む文字列全体が表示されます

render() { 
    return (
     <div>{htmlString}</div> 
    ); 
} 

を反応させるのにこの文字列をレンダリングしようとした場合、あなたはこの文字列

var htmlString = '<img src="javascript:alert('XSS!')" />'; 

を持っているとしましょうタグ。別名ブラウザであなたがソースHTMLを表示する場合、あなたは基本的にあなたが要素自身が作成しない限り、それはあなたがマークアップを挿入することはできませんになり

<span>"<img src="javascript:alert('XSS!')" />"</span> 

Here is some more detail on what an XSS attack is

が反応見るであろう

が表示されますレンダリング機能では、そのようなレンダリングを呼び出す機能を持っていると言われています。dangerouslySetInnerHTML ... here is some more detail about it

関連する問題