Skip to content

noDangerouslySetInnerHtml (since v1.0.0)

Diagnostic Category: lint/security/noDangerouslySetInnerHtml

Sources:

Prevent the usage of dangerous JSX props

function createMarkup() {
return { __html: 'child' }
}
<div dangerouslySetInnerHTML={createMarkup()}></div>
security/noDangerouslySetInnerHtml.js:4:6 lint/security/noDangerouslySetInnerHtml ━━━━━━━━━━━━━━━━━━

   Avoid passing content using the dangerouslySetInnerHTML prop.
  
    2 │     return { __html: 'child' }
    3 │ }
  > 4 │ <div dangerouslySetInnerHTML={createMarkup()}></div>
        ^^^^^^^^^^^^^^^^^^^^^^^
    5 │ 
  
   Setting content using code can expose users to cross-site scripting (XSS) attacks
  
React.createElement('div', {
dangerouslySetInnerHTML: { __html: 'child' }
});
security/noDangerouslySetInnerHtml.js:2:5 lint/security/noDangerouslySetInnerHtml ━━━━━━━━━━━━━━━━━━

   Avoid passing content using the dangerouslySetInnerHTML prop.
  
    1 │ React.createElement('div', {
  > 2 │     dangerouslySetInnerHTML: { __html: 'child' }
       ^^^^^^^^^^^^^^^^^^^^^^^
    3 │ });
    4 │ 
  
   Setting content using code can expose users to cross-site scripting (XSS) attacks