String Escape/Unescape
Wszechstronne narzędzie do zamiany znaków specjalnych w łańcuchach JSON, HTML, XML, URL i innych formatach. Konwertuje znaki specjalne na ich zakodowane odpowiedniki lub dekoduje je z powrotem, zapewniając integralność danych w różnych kontekstach. Idealne dla twórców stron internetowych, integracji API i zadań przetwarzania danych.
Najczęściej zadawane pytania
Narzędzie obsługuje wiele formatów ucieczki, w tym JSON (cudzysłowy, nowe linie, tabulatory), encje HTML, encje XML, kodowanie adresów URL i ucieczkę ciągów JavaScript, umożliwiając przygotowanie ciągów dla różnych kontekstów.
Łańcuchy specjalne dla JSON, gdy trzeba uwzględnić znaki specjalne, takie jak cudzysłowy, odwrotne ukośniki lub nowe linie w wartościach JSON, zapewniając prawidłową składnię JSON i zapobiegając błędom parsowania.
Tak, narzędzie działa dwukierunkowo. Możesz usunąć zakodowane ciągi znaków, aby zobaczyć oryginalny tekst, dzięki czemu jest to przydatne do debugowania i zrozumienia uciekających danych z interfejsów API lub baz danych.
Ucieczka HTML konwertuje znaki takie jak <, >, & i cudzysłowy na encje HTML (<, >, &, "), aby zapobiec atakom XSS i problemom z wyświetlaniem, podczas gdy ucieczka JSON obsługuje znaki, które łamią składnię JSON.
Kodowanie adresów URL (percent-encoding) to specyficzny rodzaj ucieczki, który konwertuje znaki specjalne do formatu %XX w celu bezpiecznego użycia w adresach URL, co różni się od ucieczki JSON lub HTML.
Prawidłowe unikanie ciągów znaków zapobiega atakom wstrzykiwania (XSS, SQL injection), zapewniając, że dane wejściowe użytkownika są traktowane jako dane, a nie kod wykonywalny, co czyni je krytyczną praktyką bezpieczeństwa w tworzeniu stron internetowych.
Unikanie JSON jest zgodne ze ścisłym standardem (RFC 8259) wymagającym odwrotnych ukośników dla cudzysłowów (\"), odwrotnych ukośników (\) i znaków sterujących (\n, \t, \r). Unikanie ciągów JavaScript jest podobne, ale bardziej liberalne, pozwalając na dodatkowe ucieczki, takie jak \v (pionowy tabulator),
Każdy język ma określone wymagania dotyczące ucieczek: Python używa odwrotnych ukośników (\n, \t, \') i obsługuje surowe łańcuchy (r'text'), JavaScript używa podobnych ucieczek plus literały szablonów, C/C++ wymaga ucieczki cudzysłowów i odwrotnych ukośników, SQL wymaga podwojenia pojedynczych cudzysłowów ('') lub ich ucieczki, a skrypty powłoki wymagają ostrożnej ucieczki $, ` i cudzysłowów. Aby uniknąć luk w zabezpieczeniach, zawsze używaj wbudowanych funkcji ucieczki języka (takich jak json.dumps() Pythona, JSON.stringify() JavaScriptu lub sparametryzowanych zapytań SQL), a nie ręcznej ucieczki.
Podstawowe sekwencje specjalne obejmują: \n (podawanie nowej linii/linii), \r (powrót karetki), \t (tabulator), \" (podwójny cudzysłów), \' (pojedynczy cudzysłów), \ (odwrotny ukośnik),
Ataki XSS polegają na wstrzykiwaniu złośliwych skryptów poprzez wykorzystanie nieuwolnionych danych wejściowych użytkownika na stronach internetowych. Prawidłowa ucieczka konwertuje niebezpieczne znaki na bezpieczne reprezentacje: < staje się <, > staje się >, & staje się &, " staje się ", a ' staje się '. Zapobiega to interpretowaniu przez przeglądarki danych wprowadzanych przez użytkownika jako kodu HTML lub JavaScript. Na przykład, jeśli użytkownik wprowadzi <script>alert('XSS')</script>, ucieczka HTML konwertuje go na nieszkodliwy tekst, który wyświetla się dosłownie zamiast wykonywać. Zawsze uciekaj od danych wyjściowych w oparciu o kontekst - HTML dla zawartości strony, JavaScript dla bloków skryptów, URL dla linków.