All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.education.2codeSnippets.html Maven / Gradle / Ivy

This is an example of an attempt to run some code on our

Cross-site scripting (XSS) attack

Assistive technologies, such as screen readers, use <th> headers to provide some context when users navigates a table. Without it the user gets rapidly lost in the flow of data.

Headers should be properly associated with the corresponding <td> cells by using either a scope attribute or headers and id attributes. See W3C WAI Web Accessibility Tutorials for more information.

This rule raises an issue whenever a <table> does not contain any <th> elements.

Moreover in this example, we attempted a Cross-site scripting attack by adding a script tag and adding a onload property to the pre tag. The code being sanitized before being injected in the DOM prevents us from being vulnerable.

Noncompliant Code Example

<table> <!-- Noncompliant -->
  <tr>
    <td>Name</td>
    <td>Age</td>
  </tr>
  <tr>
    <td>John Doe</td>
    <td>24</td>
  </tr>
  <tr>
    <td>Alice Doe</td>
    <td>54</td>
  </tr>
</table>
  

Compliant Solution

<table>
  <tr>
    <th scope="col">Name</th>
    <th scope="col">Age</th>
  </tr>
  <tr>
    <td>John Doe</td>
    <td>24</td>
  </tr>
  <tr>
    <td>Alice Doe</td>
    <td>54</td>
  </tr>
</table>
<script>
  alert('nevermind, you good..');
</script>
  




© 2015 - 2024 Weber Informatics LLC | Privacy Policy