Auf meiner Website habe ich einen Eingabe Feld, in dem Benutzer Links einfügen können. Diese Links werden in meiner Datenbank gespeichert und andere Benutzer können dann über den href eines a-Tags auf diese Links klicken. Ähnlich wie zum Beispiel Reddit.
Ich möchte, dass Benutzer URLs eingeben können wie:
Code: Select all
https://example.com:8080/?sort=custom&kind=comments&scope=discover&time=6mo&page=2
Um XSS zu verhindern, leite ich die Benutzereingaben über die Ammoniak-Bibliothek weiter. Dies führt jedoch dazu, dass das kaufmännische Und-Zeichen maskiert und als &:
gerendert wird
Code: Select all
https://example.com:8080/?sort=custom&kind=comments&scope=discover&time=6mo&page=2
Wie geht man damit richtig um?
HINWEIS : Ich frage nicht, ob mein Abfrageparameter selbst ein kaufmännisches Und enthält. Ich frage nach dem kaufmännischen Und-Zeichen, das als Trennzeichen für mehrere Abfrageparameter in einem Link verwendet wird.