Virknes izkļūšana/izkļūšana no teksta
Izvairieties no īpašajām rakstzīmēm JSON, HTML, XML, XML, URL un citu formātu virknēs, izmantojot šo daudzpusīgo virknes izvadīšanas rīku. Konvertējiet īpašās rakstzīmes uz to kodētajiem ekvivalentiem vai atšifrējiet tās atpakaļ, nodrošinot datu integritāti dažādos kontekstos. Ideāli piemērots tīmekļa izstrādātājiem, API integrācijai un datu apstrādes uzdevumiem.
Biežāk uzdotie jautājumi
Šis rīks atbalsta vairākus izvairīšanās formātus, tostarp JSON (pēdiņas, jaunās rindiņas, cilnes), HTML vienības, XML vienības, URL kodējumu un JavaScript virknes izvairīšanos, tādējādi ļaujot sagatavot virknes dažādiem kontekstiem.
JSON izkļūšanas virknes, ja JSON vērtībās jāiekļauj īpašas rakstzīmes, piemēram, pēdiņas, atpakaļsvītras vai jaunās rindiņas, nodrošinot derīgu JSON sintaksi un novēršot apstrādes kļūdas.
Jā, rīks darbojas divvirzienu režīmā. Varat atšifrēt kodētas virknes, lai redzētu oriģinālo tekstu, tādējādi tas ir noderīgs atkļūdošanas atkļūdošanai un API vai datubāzu escapēto datu izpratnei.
HTML escaping pārveido tādas rakstzīmes kā <, >, & un pēdiņas HTML vienībās (<, >, &, "), lai novērstu XSS uzbrukumus un displeja problēmas, savukārt JSON escaping apstrādā rakstzīmes, kas pārkāpj JSON sintaksi.
URL kodēšana (procentu kodēšana) ir īpašs izvadīšanas veids, kas pārveido īpašās rakstzīmes %XX formātā drošai lietošanai URL, kas atšķiras no JSON vai HTML izvadīšanas.
Pareiza virknes izkļūšana novērš injekciju uzbrukumus (XSS, SQL injekcija), nodrošinot, ka lietotāja ievadītie dati tiek uzskatīti par datiem, nevis par izpildāmu kodu, tāpēc šī ir būtiska drošības prakse tīmekļa vietņu izstrādē.
JSON izkļūšana notiek saskaņā ar stingru standartu (RFC 8259), kas nosaka, ka pēdiņām (\"), atpakaļslīpsvītrām (\\) un vadības rakstzīmēm (\n, \t, \r) jābūt izkļūšanai ar backslash. JavaScript virkņu izvadīšana ir līdzīga, bet daudz brīvāka, pieļaujot papildu izvadīšanas iespējas, piemēram, \v (vertikālā tabulators), \0 (nulle) un \x (sešstzīmju izvadīšana). JSON arī pieprasa UTF-16 aizstājēju pārus rakstzīmēm ārpus BMP, bet JavaScript var izmantot \u{XXXXXX} apzīmējumu. Lai nodrošinātu stingru savietojamību, API atbildēs un datu apmaiņā vienmēr izmantojiet JSON escaping.
Katrai valodai ir īpašas evakuācijas prasības: Python izmanto atpakaļsvītras (\n, \t, \') un atbalsta neapstrādātas virknes (r'text'), JavaScript izmanto līdzīgas izkļūšanas iespējas un šablonu literālus, C/C++ pieprasa izkļūšanu no pēdiņām un atpakaļsvītrām, SQL pieprasa dubultot atsevišķās pēdiņas ('') vai izkļūt no tām, un čaulas skriptos nepieciešams rūpīgi izkļūt no $, ` un quotes. Lai izvairītos no ievainojamības, vienmēr izmantojiet savas valodas iebūvētās izvairīšanās funkcijas (piemēram, Python json.dumps(), JavaScript JSON.stringify() vai SQL parametrizētos vaicājumus), nevis manuālu izvairīšanos.
Svarīgākās glābšanās sekvences ir šādas: \n (jaunas rindkopas/rindiņu padeve), \r (atgriešanās), \t (tabulators), \" (dubultkvotāža), \' (vienkvotāža), \\ (backslash), \0 (nulles raksturs), \b (backspace) un \f (form feed). Unicode: \uXXXXXX (četrciparu sešciparu kods) un \xXX (divciparu sešciparu kods). Dažādos kontekstos ir nepieciešama atšķirīga escaping - JSON izmanto \/, HTML izmanto < un >, XML ir līdzīgs HTML, un regulārās izteiksmes izmanto \d, \w, \s rakstzīmju klasēm.
XSS uzbrukumos tiek ievadīti ļaunprātīgi skripti, izmantojot neizšķirtu lietotāja ievadi tīmekļa lapās. Pareiza izvairīšanās no ievades pārvērš bīstamās rakstzīmes drošos atveidojumos: < kļūst par <, > kļūst par >, & kļūst par &, " kļūst par " un ' kļūst par '. Tas neļauj pārlūkprogrammām lietotāja ievadītos datus interpretēt kā HTML vai JavaScript kodu. Piemēram, ja lietotājs ievada <script>alert('XSS')</script>, HTML escaping pārvērš to nekaitīgā tekstā, kas tiek parādīts burtiski, nevis izpildīts. Vienmēr izvadiet izvades kodu, pamatojoties uz kontekstu - HTML lapas saturam, JavaScript skriptu blokiem, URL saitēm.
