it-swarm-tr.com

URL'de hangi özel karakterler kullanmak güvenlidir?

URL'de hangi özel karakterler kullanmak güvenlidir?

13
YOU

Güvenli karakterler a-z, A-Z, 0-9 ve _ - (alt çizgi ve eksi) olup, parametreler için kullanılan ayrılmış karakterlerin yanındadır.

Diğer karakterler bir dereceye kadar problem yaratacaktır. Örnek: eğer bir parametre ?param=array[content] dizisi ise, yani dikte etmek için çirkin ve imkansız görünen, köşeli parantez url kodlu bir url gösterecektir.

Ancak sorun sadece çirkin değil, daha güvenli olanların yanında bir karaktere sahip bir jpg'ye sahip olduğunuzu varsayalım, çoğu zaman tarayıcı 404'e ulaşacak şekilde indiremez. Bu, eski tarayıcıların ve bazı mobil tarayıcıların sorunudur.

Bu nasıl test edilir?

  • çok sayıda ziyaretçinin bulunduğu ortak bir sayfada adlarını test etmek istediğiniz karakterleri içeren bir sürü resim/js/css koyun
  • 404 sayfasını her tıkladığında size bir e-posta gönderin

Amacımı kanıtlayan 14000 e-posta içeren bir gelen kutum var.

10

Aşağıdaki karakterlerin, URL’nizin yol bileşeninde özel bir anlamı vardır (yol bileşeni '?' Den önceki her şeydir):

  ";" | "/" | "?"

Bunlara ek olarak, aşağıdaki karakterlerin URL’nizin sorgu bölümünde özel bir anlamı vardır ('?' Sonrası her şey). Bu nedenle, eğer onlar? Onlardan kaçman gerekiyor:

  ":" | "@" | "&" | "=" | "+" | "$" | ","

Daha ayrıntılı bir açıklama için RFC .

11
Thomas Bonini

Buradaki cevaplar iyidir, fakat ingilizce-olmayan karakterlerden bahsetmeye değer bir özel durum daha var Referans bu SF sorusu burada , ñ (Español'daki gibi) karakterleri tamamen meşru, eğer DNS'nizde doğru bir şekilde kodlanmışlarsa.

Modern tarayıcılarda çözümlemek için DNS'nizde Punycode kullanmanız gerekir (español girişi xn--espaol-zwa'dur), ancak bunlar artık etki alanı adlarında da kullanılabiliyorlar. İngilizce konuşamayanların da yazması kolay.

3
Mark Henderson