Caractères spéciaux, injection & échappements

Afin d'éviter les problèmes d'affichage et les injections il est recommandé d'encoder ou supprimer les caractères suivants pour les documents HTML et XML.

Exemples de traitements de chaînes

Tester une chaîne

Expression Résultat
$string Injection JS <script>document.location='http://kode.ch'</script>
htmlspecialchars($string) Injection JS &lt;script&gt;document.location='http://kode.ch'&lt;/script&gt;
htmlspecialchars($string,ENT_QUOTES) Injection JS &lt;script&gt;document.location=&#039;http://kode.ch&#039;&lt;/script&gt;
htmlentities($string) Injection JS &lt;script&gt;document.location='http://kode.ch'&lt;/script&gt;
strip_tags($string) Injection JS document.location='http://kode.ch'
strip_tags($string,'<a>') Injection JS document.location='http://kode.ch'
filter_var($string, FILTER_SANITIZE_STRING) Injection JS document.location=&#39;http://kode.ch&#39;
filter_var($string, FILTER_SANITIZE_SPECIAL_CHARS) Injection JS &#60;script&#62;document.location=&#39;http://kode.ch&#39;&#60;/script&#62;
filter_var($string, FILTER_SANITIZE_FULL_SPECIAL_CHARS) Injection JS &lt;script&gt;document.location=&#039;http://kode.ch&#039;&lt;/script&gt;
addslashes($string) Injection JS <script>document.location=\'http://kode.ch\'</script>

Sources