Umritun strengja (escape/unescape)
Umritaðu eða afumritaðu streng fyrir JSON, JavaScript, sniðmátsstrengi, SQL, CSV, HTML-eigindi, reglulegar segðir og vefslóðir, beint í vafranum.
Umritun kemur ekki í stað breytufyrirspurna (prepared statements). Notaðu þetta úttak til að lesa eða aflúsa SQL, aldrei til að smíða fyrirspurnir úr notandainnslætti.
Hvernig á að umrita eða afumrita streng
- Veldu markið í Snið: JSON-strengur, JavaScript-strengur, JavaScript-sniðmátsstrengur, SQL-strengjagildi, CSV-reitur, gildi HTML-eigindis, regluleg segð eða hluti vefslóðar.
- Sláðu inn eða límdu textann í innsláttarreitinn.
- Smelltu á Umrita til að breyta venjulegum texta í öruggt strengjagildi, eða Afumrita til að breyta strengjagildi aftur í venjulegan texta. Niðurstaðan uppfærist um leið og þú slærð inn, í þá átt sem þú valdir síðast.
- Stilltu valkostina sem birtast fyrir sniðið: Bæta við gæsalöppum utan um, Umrita stafi utan ASCII eða Bil sem + (eyðublaðsgögn).
- Smelltu á Afrita, eða Nota úttak sem inntak til að snúa aðgerðinni við og athuga hringferðina.
Stafafjöldi fyrir og eftir birtist undir hnöppunum. Allt keyrir í vafranum þínum; engu er hlaðið upp.
Hvað hvert snið gerir
- JSON-strengur: umritar
",\og stýristafi (\n,\t,\u0000…), nákvæmlega eins ogJSON.stringify. Með Umrita stafi utan ASCII verður hver stafur yfir U+007E að\uXXXX(emoji verða staðgengilspar eins og😀). Afumritun tekur við textanum með eða án tvöfaldra gæsalappa og þolir hrá línuskil. - JavaScript-strengur (‘…’): umritar bakstrik, einfalda gæsalappa, línuskil og stýristafi, ásamt U+2028 og U+2029 sem brjóta eldri vélar. Afumritun skilur
\x41,A,\u{1F600}, eldri áttundaumritanir eins og\101og línuframhald. - JavaScript-sniðmátsstrengur (`…`): umritar bakfærðar gæsalappir, bakstrik og
${þannig að engin segð er metin; línuskil og tab haldast eins og þau eru, þar sem sniðmátsstrengir leyfa þau. - SQL-strengjagildi (‘…’): tvöfaldar einfaldar gæsalappir (
O'Brien→'O''Brien'), eins og í stöðluðu SQL. Afumritun hafnar gæsalöppum sem eru ekki tvöfaldaðar. Bakstrikum er ekki breytt: MySQL í sjálfgefnum ham meðhöndlar líka\sem umritunarstaf, svo athugaðu reglur gagnagrunnsins þíns. - CSV-reitur (RFC 4180): vefur reitinn í tvöfaldar gæsalappir og tvöfaldar innri gæsalappir þegar hann inniheldur kommu, semíkommu, tab, gæsalappir, línuskil eða bil í upphafi/enda. Bæta við gæsalöppum utan um þvingar gæsalappirnar fram.
- Gildi HTML-eigindis: skiptir
&,<,>,"og'út fyrir einingar (entities), sem er öruggt bæði í eigindum með einföldum og tvöföldum gæsalöppum. Afumritun afkóðar tölutilvísanir og&,<,>,",'og . - Regluleg segð (bókstaflegur texti): umritar
. * + ? ^ $ { } ( ) | [ ] \ /með bakstrik, ásamt línuskilum og tab, þannig að mynstrið passar bókstaflega við textann. Niðurstaðan er gild með eða ánuflaggsins. - Hluti vefslóðar (prósentukóðun): virkar eins og
encodeURIComponentog kóðar allt nema bókstafi, tölustafi og- _ . ! ~ * ' ( )sem UTF-8 bæti. Bil sem + (eyðublaðsgögn) notarapplication/x-www-form-urlencodedvenjuna.
Umritun er ekki öryggismörk fyrir SQL
Þegar þú velur SQL sýnir verkfærið áminningu, og hún á skilið að vera endurtekin: raunveruleg lausn á SQL-innspýtingu er breytufyrirspurn (prepared statement), þar sem gildið er sent aðskilið frá SQL-textanum. Handvirk umritun er brothætt: hún fer eftir gagnagrunninum, stafasetti tengingarinnar og stillingum eins og meðhöndlun bakstrika í MySQL. Notaðu þetta úttak til að lesa logga, skrifa prófunargögn eða aflúsa fyrirspurn, aldrei til að smíða fyrirspurnir úr notandainnslætti.
Fyrir CSV varar verkfærið líka við þegar gildi byrjar á =, +, - eða @: töflureiknir gæti keyrt það sem formúlu (CSV-innspýting). Gæsalappir koma ekki í veg fyrir það; algengasta mótvægið er að setja afostrofu eða bil fyrir framan gildið.
Algengar spurningar
Hver er munurinn á JSON-streng og JavaScript-streng?
JSON leyfir aðeins tvöfaldar gæsalappir og lítið safn umritana (\" \\ \/ \b \f \n \r \t \uXXXX). JavaScript tekur einnig við einföldum gæsalöppum, bakfærðum gæsalöppum, \x41, \u{…}, \v og \0. Gildar JSON-umritanir eru gildar í JavaScript, en ekki öfugt.
Af hverju mistekst afumritun með „ógild umritunarruna“?
Textinn inniheldur bakstrik á eftir einhverju sem sniðið leyfir ekki, eins og \u12 með færri en fjórum sextándakerfisstöfum, eða stakan bakstrik í lokin. Villuboðin sýna gölluðu rununa.
Þarf CSV gæsalappir utan um hvern reit?
Nei. RFC 4180 krefst gæsalappa aðeins þegar reiturinn inniheldur kommu, tvöfaldar gæsalappir eða línuskil. Þetta verkfæri setur líka gæsalappir um semíkommur, tab og bil í upphafi eða enda, því margir töflureiknar nota þau sem aðgreina eða klippa þau burt.
Nægir HTML-eigindaumritunin til að koma í veg fyrir XSS?
Hún er rétt fyrir texta sem er settur inn í gildi eigindis innan gæsalappa. Hún nægir ekki fyrir eigindi sem eru sjálf kóði eða vefslóðir, eins og onclick eða href="javascript:…"; þau þarf að sannreyna, ekki bara umrita.
Er textinn minn sendur á netþjón?
Nei. Allar umbreytingar keyra staðbundið í vafranum þínum, þannig að þú getur óhikað límt inn stillingargildi eða gögn sem þú myndir ekki deila.
Tengd verkfæri
- URL-kóðun og afkóðun Ókeypis URL-kóðari og afkóðari. Prósentukóðaðu leitarfæribreytur eða heilar vefslóðir, afkóðaðu %XX-runur og meðhöndlaðu + sem bil, í vafranum.
- HTML-einingakóðun og afkóðun Breyttu sérstöfum í HTML-einingar (nafngefnar, tugakerfi eða hex) eða afkóðaðu hvaða einingu sem er, með öllum 2 231 nafngefnum HTML5-tilvísunum.
- JSON-sniðari og sannprófari Ókeypis JSON-sniðari og sannprófari sem fegrar, smækkar og athugar JSON í vafranum, með setningafræðivillum eftir línu og dálki.
- Regex-prófari Prófaðu JavaScript-reglulegar segðir í beinni með lituðum samsvörunum, söfnunarhópum, útskiptingu og skýringu á hverju tákni á venjulegu máli.