Dokumentacja języka JavaScript 1.5:Funkcje:encodeURIComponent
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Funkcja główna
Koduje każdy komponent Jednolitego Identyfikatora Zasobu (URI) poprzez zamianę, każdego wystąpienia pewnych znaków jedną, dwoma lub trzema sekwencjami ucieczki reprezentujące kodowanie UTF-8 znaku.
[edytuj] Składnia
encodeURIComponent(String)
[edytuj] Parametry
-
String - Komponent Jednolitego Identyfikatora Zasobu.
[edytuj] Opis
encodeURIComponent zamienia wszystkie znaki na sekwencje ucieczki poza znakami: alfabetycznymi, cyframi, - _ . ! ~ * ' ( )
Ze względów bezpieczeństwa, powinieneś wywoływać encodeURIComponent na każdym parametrze podanym przez użytkownika, który będzie podany jako część URI. Na przykład, użytkownik mógł wpisać "Thyme &time=again" dla zmiennej comment. Nie użycie encodeURIComponent na tej zmiennej da comment=Thyme%20&time=again. Zauważ, że znak ampersand (&) i znak równości (=) oznaczają nową parę kluczy i wartość. Więc, zamiast wysyłać klucz comment równy Thyme &time=again, dostaniesz dwa klucze POST, jeden równy Thyme , a drugi (time) równy again. Jest to bardzo, bardzo, bardzo niebezpieczne, jeśli używasz PHP z włączonymi register_globals.