Percent-Encoding: URLs sicher machen
URLs (Uniform Resource Locator) koennen nur eine Teilmenge von ASCII-Zeichen enthalten. Zeichen wie Leerzeichen, &, =, #, ? und alle Unicode-Zeichen (Akzentbuchstaben, Ideogramme, Emoji) koennen nicht direkt in einer URL erscheinen, da sie spezielle Bedeutungen haben oder nicht unterstuetzt werden. Das Percent-Encoding (definiert in RFC 3986) loest dieses Problem, indem es jedes unsichere Zeichen durch % gefolgt von seinem hexadezimalen Code ersetzt: Leerzeichen wird zu %20, & wird zu %26, e mit Akzent wird zu %C3%A9.
Unser URL Encode/Decode behandelt Codierung und Decodierung in beide Richtungen, mit korrekter Unterstuetzung von UTF-8, Doppelcodierung und den Unterschieden zwischen Pfad-Codierung und Query-String-Codierung. Es ist ein unverzichtbares Tool fuer Webentwickler, die mit APIs, Suchparametern und jedem Szenario arbeiten, in dem Benutzerdaten in einer URL landen.
Wann und was codieren
Die grundlegende Regel: Codieren Sie die Werte, nicht die URL-Struktur. Zeichen, die die Struktur bilden (://?&=#), sollten nicht codiert werden, wenn sie als Trennzeichen fungieren. Sie sollten nur codiert werden, wenn sie in den Daten erscheinen. Zum Beispiel: Wenn der Suchparameter "a=b" ist, ist das & in der URL ein Trennzeichen (nicht codiert), aber das = im Wert muss codiert werden: ?search=a%3Db. Codierungsfehler gehoeren zu den haeufigsten Bugs in Webanwendungen.
Sicherheit und URL-Encoding
URL-Codierung ist grundlegend fuer die Websicherheit. URL-Parameter-Injection ist ein Angriffsvektor: Nicht codierte Eingaben koennen die URL-Struktur veraendern, unbeabsichtigte Parameter hinzufuegen oder unerwartetes Verhalten verursachen. Alle modernen Web-Frameworks codieren URL-Parameter automatisch, aber wenn Sie URLs manuell erstellen (in API-Clients, Skripten, Weiterleitungen), liegt die korrekte Codierung in der Verantwortung des Entwicklers.
Fuer andere Arten der Codierung in der Webentwicklung behandelt unser Base64 Encode/Decode die Binaer-zu-Text-Codierung fuer JWTs, Data URIs und E-Mail-Anhaenge. Fuer die Validierung von Mustern in Daten ermoeglicht der Regex Tester das Testen regulaerer Ausdruecke in Echtzeit. Und fuer die Sicherheit der Verbindungen, ueber die diese URLs uebertragen werden, ueberpruefen Sie immer, dass Ihre Website HTTPS mit SSL Check verwendet — URL-Parameter sind im unverschluesselten HTTP-Verkehr sichtbar.
Ein tueckischer Fall ist die Doppelcodierung: Wenn bereits codierte Daten ein zweites Mal codiert werden, wird %20 zu %2520 (das % wird als %25 codiert). Das Ergebnis ist eine URL, die nicht funktioniert, weil der Server nur einmal decodiert und %20 als wortwoertliche Daten statt eines Leerzeichens erhaelt. Unser Tool erkennt und behandelt die Doppelcodierung beim Decodieren korrekt, aber Praevention ist besser: Codieren Sie Daten nur einmal, zum Zeitpunkt der URL-Erstellung.