Sətir Escape Aləti
Bir sətir, altı escape: JSON, HTML, URL, Base64, SQL və regex — əsl tərsi olan hər yerdə iki istiqamət. Regex escape dürüstcə birtərəflidir; xarab giriş isə əzilmiş mətn əvəzinə aydın imtina ilə qayıdır.
Altı dil, bir toqquşma
Hər escape ona görə var ki, mətn davamlı başqa mətnin içinə düşür: JSON stringində dırnaq, HTML-də <, SQL literalında apostrof. Ev sahibi dilin ayırıcıları var; datanızda onlar ola bilər; escape ikisini ayrı saxlayan müqavilədir.
Müqavilələr geri dönərlikdə fərqlənir. JSON, HTML, URL, Base64 və SQL dəqiq tərslər tərif edir — bu səhifə hər iki istiqaməti ciddi yoxlama ilə qurur: içində etibarsız UTF-8 gizlənən Base64 mojibake yox, imtina qaytarır. Regex yalnız zireh tərif edir — tabında da iddia əvəzinə bir istiqamət və qeyd var.
Tez-tez verilən suallar
Harada hansı escape lazımdır?
API və konfiqdəki string dəyərlərə JSON; mətn markup içinə düşəndə HTML (beş xüsusi: & < > " '); query-string dəyərlərinə URL; baytları yalnız-mətn kanallardan keçirməyə Base64; SQL string literalına qoşa dırnaq; istifadəçinin axtarış sözü patterndə hərfi uyğunlaşmalı olanda regex.
Base64 mətnimi niyə üçdə bir böyüdür?
Hər 3 baytı 64 simvollu əlifbadan 4 simvola köçürür — çıxış padding-dən əvvəl 4/3 ölçüdədir. Bu nə sıxma, nə şifrələmədir — xam baytları əzəcək kanallardan sağ keçirən zirehdir. Kiril və ə baha başa gəlir, çünki UTF-8 belə hərfə əvvəlcə 2 bayt xərcləyir.
Regex escape niyə birtərəflidir?
Çünki niyyəti bilmədən escape geri açılmır: a\.b-dəki slash bu alətin qoyduğu zireh də ola bilər, patterninizdə onsuz da olan hərfi slash da. Buradakı hər başqa rejimin bu suala cavab verən spesifikasiyası var; regex-in yoxdur — alət də təxmin etməkdən imtina edir.
Escape SQL injection və XSS-i dayandırmağa bəsdir?
Mexanizmdir, strategiya deyil. SQL üçün parametrli sorğular əl ilə escape edilmiş literalı hər dəfə üstələyir — bunu literal qurmağa həqiqətən məcbur olanda işlədin. HTML üçün çıxışda escape məhz şablon mühərriklərinin etdiyidir; əllə etmək mühərriksiz yerlər üçündür.
Oxşar alətlər
- Diaqram və Blok-sxem QurucusuBlok-sxem və diaqram çəkin, qutuları özü marşrutlaşan oxlarla birləşdirin, düzülüşü avtomatik qurdurun. SVG ixracı var.
- Şifrə GeneratoruBrauzerin kriptoqrafik təsadüfi say generatoru ilə güclü şifrələr yaradın, gücünü dərhal görün.
- HTML Entity ÇeviriciMətni HTML üçün kodlayın və ya entity-ləri geri açın — markap pozucuları, adlı dəstlər, emojiyə qədər rəqəmsal istinadlar. Düz bir dəfə açır.