Екранування/розгортання рядка
Вилучайте або вилучайте спеціальні символи з рядків JSON, HTML, XML, URL та інших форматів за допомогою цього універсального інструмента для вилучення рядків. Перетворюйте спеціальні символи в їхні закодовані еквіваленти або декодуйте їх назад, забезпечуючи цілісність даних у різних контекстах. Ідеально підходить для веб-розробників, інтеграції API та обробки даних.
Поширені запитання
Інструмент підтримує кілька форматів екранування, включаючи JSON (лапки, переноси, табуляції), HTML-об'єкти, XML-об'єкти, кодування URL-адрес і екранування рядків JavaScript, що дозволяє вам підготувати рядки для різних контекстів.
Рядки екранування для JSON, коли вам потрібно включити спеціальні символи, такі як лапки, зворотні косі риски або переноси рядків у значення JSON, забезпечуючи правильний синтаксис JSON і запобігаючи помилкам синтаксичного аналізу.
Так, інструмент працює двонаправлено. Ви можете розпаковувати закодовані рядки, щоб побачити оригінальний текст, що робить його корисним для налагодження та розуміння екранованих даних з API або баз даних.
Екранування HTML перетворює такі символи, як <, >, & і лапки в HTML-об'єкти (<, >, &, "), щоб запобігти XSS-атакам і проблемам відображення, тоді як екранування JSON обробляє символи, що порушують синтаксис JSON.
Кодування URL-адреси (відсоткове кодування) - це особливий тип екранування, який перетворює спеціальні символи у формат %XX для безпечного використання в URL-адресах, що відрізняється від кодування JSON або HTML.
Правильне екранування рядків запобігає ін'єкційним атакам (XSS, SQL-ін'єкціям), гарантуючи, що користувацьке введення обробляється як дані, а не як виконуваний код, що робить його критично важливим методом безпеки у веб-розробці.
Екранування JSON відповідає суворому стандарту (RFC 8259), що вимагає екранування лапок (\"), зворотної косої риски (\\) і керуючих символів (\n, \t, \r). Екранування рядків у JavaScript схоже, але більш широке і дозволяє використовувати додаткові екрани, такі як \v (вертикальна табуляція), \0 (нуль) і \x (шістнадцяткові екрани). JSON також вимагає заміщення UTF-16 для символів за межами BMP, тоді як JavaScript може використовувати нотацію \u{XXXXXX}. Завжди використовуйте екранування JSON для відповідей API і обміну даними, щоб забезпечити сувору сумісність.
Кожна мова має специфічні вимоги до екранування: Python використовує зворотні косі риски (\n, \t, \') і підтримує необроблені рядки (r'text'), JavaScript використовує подібні екранування плюс шаблонні літерали, C/C++ вимагає екранування лапок і зворотних косих рисок, SQL вимагає подвоєння одинарних лапок ('') або їх екранування, а скрипти командного рядка потребують ретельного екранування $, ` та лапок. Щоб уникнути вразливостей, завжди використовуйте вбудовані функції екранування (наприклад, json.dumps() у Python, JSON.stringify() у JavaScript або параметризовані запити у SQL), а не екрануйте вручну.
Основні екрануючі послідовності включають: \n (новий рядок/переведення рядка), \r (повернення каретки), \t (табуляція), \" (подвійні лапки), \' (одинарні лапки), \\ (зворотна коса риска), \0 (нульовий символ), \b (пробіл) і \f (переведення рядка). Для Unicode: \uXXXX (4-значне шістнадцяткове число) і \xXX (2-значне шістнадцяткове число). Різні контексти вимагають різних екранувань - JSON використовує \/, HTML використовує < і >, XML подібний до HTML, а регулярні вирази використовують \d, \w, \s для класів символів.
XSS-атаки впроваджують шкідливі скрипти, використовуючи не екранований користувацький ввід на веб-сторінках. Належне екранування перетворює небезпечні символи на безпечні: < стає <, > стає >, & стає &, " стає " і ' стає '. Це не дозволяє браузерам інтерпретувати користувацьке введення як код HTML або JavaScript. Наприклад, якщо користувач вводить <script>alert('XSS')</script>, екранування HTML перетворює його на нешкідливий текст, який відображається буквально, а не виконується. Завжди екрануйте вивід на основі контексту - HTML для вмісту сторінки, JavaScript для блоків скриптів, URL для посилань.
