Wie gehe ich korrekt mit dem kaufmännischen Und-Zeichen für das Trennzeichen in Abfrageparametern einer vom Benutzer ein
Posted: 13 Jan 2025, 09:41
Wie gehe ich richtig mit dem kaufmännischen Und für das Trennzeichen in Abfrageparametern einer Benutzereingabe-URL um und bin gleichzeitig sicher vor XSS?
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:
Beachten Sie, dass Abfrageparameter das kaufmännische Und-Trennzeichen benötigen.
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
Dies ist offensichtlich nicht die richtige URL.
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.
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.