Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Eingabe wird bereinigt, Ausgabe jedoch nicht wie erwartet

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:

Es ist auch eine gute Idee, sich die folgenden Links anzusehen:

Und vor allem ist es gut, sich der Top-10-Risiken bewusst zu sein und mehr darüber zu erfahren.