Ich habe eine Webseite mit einer Abfragezeichenfolge.
In PHP habe ich:
%Vor% Muss ich den Querystring bereinigen?
Wenn ja, wie kann ich sanieren und was sind mögliche Angriffe, wenn ich das nicht tue?
Sie sollten htmlspecialchars($query, ENT_QUOTES)
verwenden, um XSS-Angriffe zu verhindern.
Aber trotzdem sollten Sie alle Parameter auflisten, da ein intelligenter Angreifer eine Abfrage erstellen und versuchen könnte, CSRF angreifen.
In diesem Fall sollten Sie die urlencode-Funktion verwenden.
htmlspecialchars / htmlentities sind geeigneter, wenn Sie beispielsweise den Wert des Abfrageparams im Titel des Links ausgeben, aber nicht in den Attributen href / src.
Sie können die Abfrage auf verschiedene Arten bereinigen, aber das ist nicht der richtige Ort dafür. Selbst wenn Sie eine sichere Abfrage per GET senden, kann jemand die Abfrage in der Adressleiste ändern oder Manipulationsdaten verwenden. Sie müssen auf index.php bereinigen (oder wo auch immer Sie die Daten verarbeiten). Wenn Sie MySQL verwenden, müssen Sie diesen Weg bereinigen:
%Vor%Tags und Links php