String Escape/Unescape
A JSON, HTML, XML, URL és egyéb formátumú karakterláncok speciális karaktereinek kikerülése vagy feloldása ezzel a sokoldalú karakterlánc-kikerülő eszközzel. A speciális karaktereket kódolt megfelelőjükké alakíthatja át vagy dekódolhatja vissza, így biztosítva az adatok integritását különböző kontextusokban. Tökéletes webfejlesztők, API-integráció és adatfeldolgozási feladatok számára.
Gyakran ismételt kérdések
Az eszköz többféle escape formátumot támogat, beleértve a JSON-t (idézőjelek, újsorok, tabulátorok), HTML-egységeket, XML-egységeket, URL-kódolást és a JavaScript string escapinget, lehetővé téve a stringek előkészítését különböző kontextusokhoz.
JSON-hez tartozó menekülő karakterláncok, amikor speciális karaktereket, például idézőjeleket, backslasheket vagy újsorokat kell a JSON-értékekbe foglalni, így biztosítva az érvényes JSON-szintaxist és megelőzve a bontási hibákat.
Igen, az eszköz kétirányúan működik. A kódolt karakterláncokat feloldhatja, hogy láthassa az eredeti szöveget, így hasznos lehet az API-kból vagy adatbázisokból származó kódolt adatok hibakereséséhez és megértéséhez.
A HTML escaping az olyan karaktereket, mint a <, >, & és az idézőjelek HTML-egységekké (<, >, &, ") alakítja át az XSS-támadások és megjelenítési problémák megelőzése érdekében, míg a JSON escaping a JSON-szintaxist megtörő karaktereket kezeli.
Az URL-kódolás (percent-encoding) az escaping egy speciális típusa, amely a speciális karaktereket %XX formátumba konvertálja az URL-ekben való biztonságos használathoz, ami különbözik a JSON vagy HTML escapingtől.
A megfelelő karakterlánc-kiszabadítás megakadályozza az injekciós támadásokat (XSS, SQL-injekció), mivel biztosítja, hogy a felhasználói bemenetet adatként és nem futtatható kódként kezeljék, így ez a webfejlesztés kritikus biztonsági gyakorlata.
A JSON eszkábálás szigorú szabványt követ (RFC 8259), amely előírja a backslash eszkábálást az idézőjelek (\"), a backslashek (\\\) és a vezérlő karakterek (\n, \t, \r) esetében. A JavaScript karakterláncok szkriptálása hasonló, de megengedőbb, és további szkripteket engedélyez, mint például \v (függőleges tabulátor), \0 (null) és \x (hexa szkriptek). A JSON a BMP-n kívüli karakterekhez UTF-16 helyettesítő párokat is igényel, míg a JavaScript a \u{XXXXXX} jelölést használhatja. A szigorú kompatibilitás biztosítása érdekében az API-válaszok és az adatcsere esetén mindig használja a JSON eszkópálást.
Minden nyelvnek sajátos menekülési követelményei vannak: A Python a backslasheket (\n, \t, \') használja és támogatja a nyers karakterláncokat (r'text'), a JavaScript hasonló escapes és sablon literálokat használ, a C/C++ megköveteli az idézőjelek és backslashek escapelését, az SQL megköveteli az egyszerű idézőjelek (''') megduplázását vagy escapelését, a shell szkriptek pedig a $, ` és idézőjelek gondos escapelését. A sebezhetőségek elkerülése érdekében mindig használja a nyelv beépített escape-funkcióit (például a Python json.dumps(), a JavaScript JSON.stringify() vagy az SQL paraméterezett lekérdezéseit) a kézi escaping helyett.
Az alapvető menekülési szekvenciák közé tartoznak: \n (újsor/vonalbetöltés), \r (kocsivissza), \t (tabulátor), \" (dupla idézőjel), \' (szimpla idézőjel), \\\ (backslash), \0 (null karakter), \b (backspace) és \f (form feed). Unicode esetén: \uXXXX (4 számjegyű hexa) és \xXXXX (2 számjegyű hexa). A különböző kontextusok más-más eszkappálást igényelnek - a JSON \/-t használ, a HTML < és >, az XML hasonló a HTML-hez, a reguláris kifejezések pedig \d, \w, \s karakterosztályokat használnak.
Az XSS-támadások rosszindulatú szkripteket juttatnak be a weboldalakon található, nem kimentett felhasználói bemenet kihasználásával. A megfelelő menekítés a veszélyes karaktereket biztonságos ábrázolásokká alakítja át: A <-ból <, a >-ből >, az &-ből &, a "-ből " és a '-ből ' lesz. Ez megakadályozza, hogy a böngészők a felhasználói bevitelt HTML- vagy JavaScript-kódként értelmezzék. Ha például a felhasználó <script>alert('XSS')</script>-t ír be, a HTML eszkópálás ártalmatlan szöveggé alakítja át, amely szó szerint jelenik meg ahelyett, hogy végrehajtódna. A kimenetet mindig a kontextus alapján szabadítsa ki - HTML az oldal tartalmához, JavaScript a szkriptblokkokhoz, URL a linkekhez.
