Twee simpele functies welke mij in “standaard php scripts” (niet gebaseerd op frameworks o.i.d.) van dienst zijn om SQL injection en XSS tegen te gaan:
<?php //SQL injection tegengaan function secure_in ($string) { return mysqli_real_escape_string($string); } //XSS tegengaan function secure ($string){ return htmlspecialchars($string, ENT_QUOTES, "UTF-8"); } ?>
Om het goed te doen dienen deze functies wel op de juiste plaatsen gebruikt te worden! Zo dient secure_in() gebruikt te worden in alle queries waarin de input van de bezoeker komt, bijvoorbeeld:
<?php mysqli_query("INSERT INTO gebruikers (naam) VALUES ('".secure_in($_POST['naam'])."')"); ?>
En dient secure() overal gebruikt te worden wanneer er door een bezoeker opgegeven informatie weergegeven wordt:
<?php echo secure($_POST['naam']); ?>