Карточка уязвимости
Характеристики уязвимости
Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
SAP Notes
(887168-3)
SAP Support Packages
(SAPKB62056, SAPKB62057, SAPKB64015, SAPKB70006)
Описание
Как исправить
Для улучшения качества приложений добавлен новый атрибут страницы, который выполняет принудительную кодировку в HTML всех операторов печати.
<%@page language="abap" forceEncode="html"%>
Это заставит компилятор BSP автоматически кодировать в HTML все операторы печати. Фактически, это соответствует "<%html=...%>". Преимущество данного атрибута страницы заключается в том, что он применяется ко всем операторам печати.
Синтаксис:
<%@page language="abap" forceEncode="html|url|javascript"%>
Кодировка будет применяться только, если она является единственной установленной. Например, кодировка может быть изменена, если:
<%@page language="abap" forceEncode="html"%>
ВНИМАНИЕ: НЕ путайте оператор печати со сходным синтаксисом, использованном в другом контексте. Когда подобный синтаксис используется в контексте атрибутов BSP-элементов, он имеет семантику передачи параметров, и кодировка выполняться НЕ будет. Для BSP-элементов, выполнение кодировки HTML реализовано в домене самого BSP-эелемента. Для библиотек рендеринга семейства HTMLB этого можно добиться настройкой атрибута.
Эти изменения не являются исправлениями, требующими выполнения действий вручную, поэтому они будут реализованы в следующих пакетах поддержки: 620SP56, 640SP15 и 700SP06. Исправления из данного бюллетеня могут однократно решить проблему последовательности "<%hmlt=...%>".
ВНУТРЕННЕЕ ИСПОЛЬЗОВАНИЕ:
Измененный CL_O2_CO2_PP_CHANGEDOM=>SO2_PAGE_ATTR - для обработки и реализации новой директивы страницы; метод CL_O2_CO2_ABAPOO=>INITIALIZE - для использования директивы страницы и настройки атрибута класса; а также CL_O2_CO2_ABAPOO=>PRINT - для корректной печати строк.
<%@page language="abap" forceEncode="html"%>
Это заставит компилятор BSP автоматически кодировать в HTML все операторы печати. Фактически, это соответствует "<%html=...%>". Преимущество данного атрибута страницы заключается в том, что он применяется ко всем операторам печати.
Синтаксис:
<%@page language="abap" forceEncode="html|url|javascript"%>
Кодировка будет применяться только, если она является единственной установленной. Например, кодировка может быть изменена, если:
<%@page language="abap" forceEncode="html"%>
ВНИМАНИЕ: НЕ путайте оператор печати со сходным синтаксисом, использованном в другом контексте. Когда подобный синтаксис используется в контексте атрибутов BSP-элементов, он имеет семантику передачи параметров, и кодировка выполняться НЕ будет. Для BSP-элементов, выполнение кодировки HTML реализовано в домене самого BSP-эелемента. Для библиотек рендеринга семейства HTMLB этого можно добиться настройкой атрибута
Эти изменения не являются исправлениями, требующими выполнения действий вручную, поэтому они будут реализованы в следующих пакетах поддержки: 620SP56, 640SP15 и 700SP06. Исправления из данного бюллетеня могут однократно решить проблему последовательности "<%hmlt=...%>".
ВНУТРЕННЕЕ ИСПОЛЬЗОВАНИЕ:
Измененный CL_O2_CO2_PP_CHANGEDOM=>SO2_PAGE_ATTR - для обработки и реализации новой директивы страницы; метод CL_O2_CO2_ABAPOO=>INITIALIZE - для использования директивы страницы и настройки атрибута класса; а также CL_O2_CO2_ABAPOO=>PRINT - для корректной печати строк.
Ссылки