Percent-encoding: URL's veilig maken
URL's (Uniform Resource Locator) kunnen slechts een subset van ASCII-tekens bevatten. Tekens zoals spaties, &, =, #, ? en alle Unicode-tekens (letters met accenten, ideogrammen, emoji) kunnen niet direct in een URL verschijnen omdat ze speciale betekenissen hebben of niet worden ondersteund. Percent-encoding (gedefinieerd in RFC 3986) lost dit probleem op door elk onveilig teken te vervangen door % gevolgd door zijn hexadecimale code: spatie wordt %20, & wordt %26, e met accent wordt %C3%A9.
Onze URL Encode/Decode verwerkt codering en decodering in beide richtingen, met correcte ondersteuning van UTF-8, dubbele codering, en de verschillen tussen pad-codering en query string-codering. Het is een essentieel hulpmiddel voor webontwikkelaars die werken met API's, zoekparameters, en elk scenario waarin gebruikersgegevens in een URL terechtkomen.
Wanneer en wat coderen
De fundamentele regel: codeer de waarden, niet de URL-structuur. Tekens die de structuur vormen (://?&=#) mogen niet worden gecodeerd wanneer ze als scheidingstekens fungeren. Ze mogen alleen worden gecodeerd wanneer ze in de gegevens verschijnen. Bijvoorbeeld: als de zoekparameter "a=b" is, is de & in de URL een scheidingsteken (niet gecodeerd), maar de = in de waarde moet worden gecodeerd: ?search=a%3Db. Coderingsfouten behoren tot de meest voorkomende bugs in webapplicaties.
Beveiliging en URL-codering
URL-codering is fundamenteel voor webbeveiliging. URL-parameter-injectie is een aanvalsvector: niet-gecodeerde invoer kan de URL-structuur wijzigen, onbedoelde parameters toevoegen, of onverwacht gedrag veroorzaken. Alle moderne webframeworks coderen URL-parameters automatisch, maar wanneer u URL's handmatig opbouwt (in API-clients, scripts, redirects), is correcte codering de verantwoordelijkheid van de ontwikkelaar.
Voor andere soorten codering die in webontwikkeling worden gebruikt, verwerkt onze Base64 Encode/Decode binair-naar-tekst codering voor JWT's, data-URI's en e-mailbijlagen. Voor gegevenspatroonvalidatie stelt de Regex Tester u in staat reguliere expressies in realtime te testen. En voor de beveiliging van verbindingen waarover deze URL's worden verzonden, verifieer altijd dat uw site HTTPS gebruikt met SSL Check — URL-parameters zijn zichtbaar in onversleuteld HTTP-verkeer.
Een verraderlijk geval is dubbele codering: wanneer reeds gecodeerde gegevens een tweede keer worden gecodeerd, wordt %20 %2520 (het %-teken wordt gecodeerd als %25). Het resultaat is een URL die niet werkt omdat de server slechts eenmaal decodeert en %20 als letterlijke gegevens krijgt in plaats van een spatie. Onze tool detecteert en verwerkt dubbele codering correct bij het decoderen, maar preventie is beter: codeer gegevens slechts eenmaal, op het moment van URL-constructie.