• Все разделы
  • Статьи
  • Медиа
  • Новости
  • Нормативные материалы
  • Конференции
  • Глоссарий

Note 887168 - Директива BSP-страниц <%@page forceEncode="html"%> & <%html=%>

Главная Специалистам База уязвимостей Note 887168 - Директива BSP-страниц <%@page forceEncode="html"%> & <%html=%>

Карточка уязвимости

Характеристики уязвимости

Уровень опасности
Оценка CVSS
Производитель ПО
SAP
Наименование ПО
SAP Notes (887168-3) SAP Support Packages (SAPKB62056, SAPKB62057, SAPKB64015, SAPKB70006)
Описание
Как исправить
Для улучшения качества приложений добавлен новый атрибут страницы, который выполняет принудительную кодировку в HTML всех операторов печати.

<%@page language="abap" forceEncode="html"%>

<% data: x type string.
x = request->get_form_field( 'x' ).
%>




Это заставит компилятор BSP автоматически кодировать в HTML все операторы печати. Фактически, это соответствует "<%html=...%>". Преимущество данного атрибута страницы заключается в том, что он применяется ко всем операторам печати.

Синтаксис:
<%@page language="abap" forceEncode="html|url|javascript"%>

Кодировка будет применяться только, если она является единственной установленной. Например, кодировка может быть изменена, если:

<%@page language="abap" forceEncode="html"%>

<% data: x type string.
x = request->get_form_field( 'x' ).
%>


as url parm



ВНИМАНИЕ: НЕ путайте оператор печати со сходным синтаксисом, использованном в другом контексте. Когда подобный синтаксис используется в контексте атрибутов 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 - для корректной печати строк.
Ссылки