Екрануйте або розекрануйте рядки для 8 форматів: HTML, XML, JavaScript, Java, .Net (C#), JSON, CSV і SQL. Уся обробка відбувається локально у вашому браузері — ваші дані ніколи не надсилаються на жоден сервер.
Формат:
Напрямок:
Вхідні дані
Вивід
⚠ Попередження щодо безпеки: екранування рядків не є заміною параметризованих запитів. Одне лише екранування НЕ запобігає ін'єкціям SQL. У виробничому коді завжди використовуйте параметризовані запити (підготовлені оператори).
Як користуватися: оберіть формат і напрямок (Екрануйте / Розекрануйте), потім введіть або вставте текст — вивід оновлюється автоматично. Натисніть Обробити, щоб запустити перетворення вручну. Для режимів JSON, JavaScript, Java і .Net позначте Екранувати всі не-ASCII символи, щоб перетворити символи на кшталт китайських на послідовності \uXXXX. Розекрануйте скасовує екранування: < стає <, \n стає переносом рядка тощо.
HTML:Екрануйте перетворює &<>"' на сутності HTML (&<>"'). Використовуйте це, коли вбудовуєте текст, створений користувачем, в HTML, щоб запобігти атакам XSS. Розекрануйте перетворює сутності HTML (&<>"') назад на початкові символи. Використовує нативний HTML-парсер браузера для надійного декодування всіх іменованих і числових сутностей.
XML:Екрануйте перетворює ті самі 5 символів, що й HTML (&<>"'), на безпечні для XML сутності. XML вимагає екранувати всі символи &, навіть у значеннях атрибутів. Розекрануйте перетворює сутності XML назад на початкові символи. Обробляє 5 попередньо визначених сутностей XML плюс числові посилання на символи. Та сама логіка, що й у розекрановуванні HTML.
JavaScript:Екрануйте перетворює спеціальні символи на послідовності екранування JavaScript: \n\t\\\"\'\xHH\uHHHH\u{H...}. Використовуйте це, коли динамічно генеруєте рядкові літерали JavaScript. Розекрануйте перетворює послідовності екранування JavaScript (\n\t\xHH\uHHHH тощо) назад на літерні символи. Обробляє всі стандартні послідовності ECMAScript, включно з екрануваннями кодових точок \u{H...}.
JSON:Екрануйте перетворює \"\\ і керуючі символи на безпечні для JSON послідовності екранування за RFC 8259. Використовуйте це, коли вбудовуєте текст у рядкові значення JSON. Розекрануйте перетворює послідовності екранування JSON (\"\\\n\uXXXX тощо) назад на літерні символи. Дотримується RFC 8259: декодуються лише дійсні послідовності екранування JSON.
CSV:Екрануйте за RFC 4180: береться в подвійні лапки, якщо поля містять коми, подвійні лапки або розриви рядків. Внутрішні подвійні лапки подвоюються (" → ""). Розекрануйте скасовує екранування CSV за RFC 4180: знімає зовнішні подвійні лапки і знову відокремлює внутрішні ("" → "). Коректно обробляє багаторядкові поля та лапковані коми.
SQL:Екрануйте екранує одинарні лапки подвоєнням (' → ''), що працює в усіх основних базах даних (MySQL, PostgreSQL, SQL Server, SQLite). Це стосується лише екранування рядкових літералів — це не захищає від ін'єкцій SQL у динамічних запитах. Розекрануйте перетворює подвоєні одинарні лапки ('' → ') назад на одинарні. Скасовує стандартне екранування рядкових літералів SQL.
Java:Екрануйте перетворює спеціальні символи на послідовності екранування Java: \n\t\r\\\"\'\uXXXX тощо. Використовуйте це, коли генеруєте рядкові літерали Java. Розекрануйте перетворює послідовності екранування Java назад на літерні символи. Обробляє всі стандартні послідовності екранування Java, включно з Unicode-екрануваннями \uXXXX.
.Net (C#):Екрануйте перетворює спеціальні символи на послідовності екранування C#: \n\t\r\a\v\0\\\"\uXXXX\UHHHHHHHH тощо. Використовуйте це, коли генеруєте рядкові літерали C#. Розекрануйте перетворює послідовності екранування C# назад на літерні символи. Обробляє всі стандартні послідовності C#, включно з \UHHHHHHHH UTF-32 і шістнадцятковими екрануваннями змінної довжини \xHH....
Екранування залежить від контексту
Той самий текст потребує різного екранування залежно від того, куди потрапляє: тіло HTML потребує < & >, атрибут у подвійних лапках додатково потребує ", рядок JavaScript потребує екранування зворотною скісною рискою, а URL — відсоткового кодування. Екранування для хибного контексту — саме так виникають ін'єкції розмітки та XSS.
Правило великого пальця: екрануйте для призначення, а не для джерела — вирішуйте за тим, куди дані прямують, а не звідки вони прийшли.
🔷 Екранувальник рядків
Вставте текст і оберіть формат для екранування або розекранування.