Mein Vorschlag ist, eine Funktion zu erstellen, um alle Ihre Texteingaben zu bereinigen, und eine Funktion, um alle Ihre Ausgaben zu überprüfen, die aus der Datenbank oder anderen Quellen stammen, wie folgt:
<?php
// filter for user input
function filterInput($content)
{
$content = trim($content);
$content = stripslashes($content);
return $content;
}
//filter for viewing data
function filterOutput($content)
{
$content = htmlentities($content, ENT_NOQUOTES);
$content = nl2br($content, false);
return $content;
}
Abhängig von Ihrer Strategie können Sie dem Filter zusätzliche Funktionen hinzufügen oder einige entfernen. Aber was Sie hier haben, reicht aus, um Sie vor XSS zu schützen.
BEARBEITEN: zusätzlich zur obigen Funktion diese Antwort könnte auch für einen Teil Ihres Website-Schutzes relevant sein.
Hinweis auf die verschiedenen Methoden:
- trim:http://php.net/manual/en/function. trim.php
- stripslashes:http://php.net/manual/en/function. striplashes.php
- htmlentities:http://php.net/manual/en/function. htmlentities.php
- nl2br:http://php.net/manual/en/function. nl2br.php
Es ist auch eine gute Idee, sich die folgenden Links anzusehen:
- Was ist die beste Methode zum Bereinigen von Benutzereingaben mit PHP?
- Die ultimative saubere/sichere Funktion
Und vor allem ist es gut, sich der Top-10-Risiken bewusst zu sein und mehr darüber zu erfahren.