Merge pull request #4931 from bspaulding/safe-taint-docs

Extracted "safe taint" in docs/homepage to align with best practice
(cherry picked from commit 06568114f3)
This commit is contained in:
Paul O’Shannessy
2015-09-22 11:04:48 -07:00
parent 217c54d7a7
commit 7077c5ed96
2 changed files with 10 additions and 5 deletions
+4 -3
View File
@@ -6,6 +6,9 @@ var MarkdownEditor = React.createClass({
handleChange: function() {
this.setState({value: React.findDOMNode(this.refs.textarea).value});
},
rawMarkup: function() {
return { __html: marked(this.state.value, {sanitize: true}) };
},
render: function() {
return (
<div className="MarkdownEditor">
@@ -17,9 +20,7 @@ var MarkdownEditor = React.createClass({
<h3>Output</h3>
<div
className="content"
dangerouslySetInnerHTML={{
__html: marked(this.state.value, {sanitize: true})
}}
dangerouslySetInnerHTML={this.rawMarkup()}
/>
</div>
);
+6 -2
View File
@@ -257,14 +257,18 @@ That's React protecting you from an [XSS attack](https://en.wikipedia.org/wiki/C
```javascript{4,10}
// tutorial7.js
var Comment = React.createClass({
render: function() {
rawMarkup: function() {
var rawMarkup = marked(this.props.children.toString(), {sanitize: true});
return { __html: rawMarkup };
},
render: function() {
return (
<div className="comment">
<h2 className="commentAuthor">
{this.props.author}
</h2>
<span dangerouslySetInnerHTML={{"{{"}}__html: rawMarkup}} />
<span dangerouslySetInnerHTML={this.rawMarkup()} />
</div>
);
}