URL'de hangi özel karakterlerin kullanımı güvenlidir?
URL'de hangi özel karakterlerin kullanımı güvenlidir?
Yanıtlar:
Güvenli karakterler, parametreler için kullanılan ayrılmış karakterlerin yanı sıra az, AZ, 0-9 ve _ - (alt çizgi ve eksi) şeklindedir.
Diğer karakterler bir dereceye kadar problem verecektir. örnek: bir parametre bir diziyse, ?param=array[content]
yani bir url beyazını gösterecekse, köşeli parantez url'si kodlanmış, bu da çirkin ve dikte edilmesi imkansız görünüyor.
Ama sorun sadece çirkin değil, daha güvenli olanların yanında bir karakter ile bir jpg var diyelim, çoğu zaman tarayıcı 404 almak indiremez. Bu eski tarayıcılar ve bazı mobil tarayıcılar bir sorundur.
Bunu nasıl test edebilirim?
Benim açımdan kanıtlayan 14000 e-posta içeren bir gelen kutum var.
Aşağıdaki karakterlerin URL'nizin yol bileşeninde özel bir anlamı vardır (yol bileşeni '?' Öncesi her şeydir):
";" | "/" | "?"
Bunlara ek olarak, aşağıdaki karakterlerin URL'nizin sorgu bölümünde özel bir anlamı vardır ('?' İşaretinden sonraki her şey). Bu nedenle, '?' onlardan kaçmanız gerekiyor:
":" | "@" | "&" | "=" | "+" | "$" | ","
Daha ayrıntılı bir açıklama için bkz. RFC .
Buradaki cevaplar iyi, ama bence bahsetmeye değer bir istisna daha var - İngilizce olmayan karakterler. Bu SF sorusuna burada atıfta bulunarak, ñ (Español'de olduğu gibi) gibi karakterler, DNS'nizde doğru bir şekilde kodlanmışlarsa, tamamen meşrudur.
Modern tarayıcılarda (español için giriş ) çözülmelerini sağlamak için DNS'nizde Punycode kullanmanız gerekir, xn--espaol-zwa
ancak İngilizce olmayanların da yazması kolay olduğu için bunlar artık alan adlarında kullanmak için tamamen güvenlidir .