Экранирование символов

Экранирование символов

Экранирование символов — замена в тексте управляющих символов на соответствующие текстовые подстановки.

Содержание

Определение

Обычно языки программирования, текстовые командные интерфейсы, языки разметок текста (HTML, TEX, wiki) имеют дело со структурированным текстом, в котором некоторые символы (и их комбинации) используются в качестве управляющих, в том числе управляющих структурой текста. В ситуации, когда необходимо использовать такой символ в качестве «обычного символа языка», применяют экранирование.

Условно экранирование может быть разделено на три типа:

  • экранирование одиночного символа
  • экранирование группы символов с помощью последовательности символов «начать экранирование», «закончить экранирование»
  • с помощью командной последовательности «начать экранирование» и символа «конец экранирования», который задаётся до начала экранируемого текста.dnb_page

Отсутствие экранирования как причина уязвимости

Экранирование символов привлекает особое внимание, когда структурированный текст генерируется автоматически. Включение в текст произвольных строковых данных предполагает обязательное экранирование в них управляющих символов. В то же время, очень часто реальные строки таких символов не содержат, что позволяет программисту пропускать эту операцию совсем и получать более простую программу, корректно работающую с «любыми разумными» строковыми данными. Однако, такой упрощенный код имеет скрытую уязвимость, потому что стороннее лицо (автор строковых данных) получает несанкционированную возможность влиять на структуру генерируемого текста. Уязвимость становится серьёзной, если созданный текст является чьей-то программой. Традиционно таким проблемам подвержены системы, использующие языки SQL (см. SQL-injection) и HTML (см. Сross Site Sсriрting).

Примеры

Экранирование одиночного символа

  • В языке программирования Си, внутри строк экранирование символов осуществляется с помощью символа '\', помещённого перед экранируемым символом. (При этом символ '\' может экранировать себя, то есть для вывода бэкслеша используется комбинация '\\'), этот же символ используется для экранирования символов в командной строке unix.
  • В командной строке microsoft windows экранирование части символов осуществляется с помощью символа '^', помещённого перед экранируемым символом.

Экранирование группы символов

  • В языке программирования python экранирование группы символов в строке осуществляется указанием буквы r (от англ. raw — необработанный) перед строкой, т. е. символы экранируются последовательностями r"экранируемый текст"
  • В вики-разметке экранирование текста осуществляется с помощью псевдотегов <nowiki> и </nowiki>. Если нужно записать сам псевдотег <nowiki>, это делается символами подстановки (&lt;nowiki&gt;).

Экранирование текста с завершающим символом



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Экранирование символов" в других словарях:

  • ГОСТ 27459-87: Системы обработки информации. Машинная графика. Термины и определения — Терминология ГОСТ 27459 87: Системы обработки информации. Машинная графика. Термины и определения оригинал документа: 5. Абсолютная команда визуализации Absolute command Команда визуализации, в которой используются абсолютные координаты… …   Словарь-справочник терминов нормативно-технической документации

  • Инъекция SQL — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… …   Википедия

  • Внедрение SQL-кода — (англ. SQL injection)  один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL кода. Внедрение SQL, в зависимости от типа используемой СУБД и условий… …   Википедия

  • SQL-инъекция — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… …   Википедия

  • SQL injection — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… …   Википедия

  • SQL инъекция — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… …   Википедия

  • Base64 — буквально означает  позиционная система счисления с основанием 64. Здесь 64  это наибольшая степень двойки (26), которая может быть представлена с использованием печатных символов ASCII. Эта система широко используется в электронной… …   Википедия

  • @ — У этого термина существуют и другие значения, см. AT (значения). Не следует путать с «А в круге»  Ⓐ. @ …   Википедия

  • Advanced Direct Connect — (ADC)  протокол для пиринговых сетей, основанный на протоколе Direct Connect (DC). ADC клиенты подключаются к центральному серверу и обмениваются файлами напрямую между участниками сети. Эту статью следует викифицировать …   Википедия

  • Позиционная система счисления с основанием 64 — Base64 буквально означает  позиционная система счисления с основанием 64. Здесь 64  это наибольшая степень двойки (26), которая может быть представлена с использованием печатных символов электронной почте для представления бинарных файлов в… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»