Можно ли сделать сценарии недействительными для нескольких шаблонов URL для JSP? - PullRequest
0 голосов
/ 30 августа 2018

Java EE 5 отметим, что

Элемент scripting-invalid является дочерним элементом элемента jsp-property-group, который определяет свойства для набора страниц JSP.

Исходя из этого, я предполагаю, что это должно работать, но мне не удалось найти, как несколько тегов jsp-property-group работают вместе - в порядке старшинства или запускается самое близкое правило.

Моя цель - отключить скриптинг для всех jsp:

<jsp-config>
<jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <scripting-invalid>true</scripting-invalid>
  </jsp-property-group>
</jsp-config>

, а затем разрешить сценарии только для нескольких файлов или групп:

<jsp-config>
  <jsp-property-group>
    <url-pattern>scripting_allowed.jsp</url-pattern>
    <scripting-invalid>false</scripting-invalid>
  </jsp-property-group>
</jsp-config>

and\or

<jsp-config>
  <jsp-property-group>
    <url-pattern>/scripting_allowed/</url-pattern>
    <scripting-invalid>false</scripting-invalid>
  </jsp-property-group>
</jsp-config>

Я протестировал этот конфиг и несколько других, например, отключил только одну страницу. Тесты показывают, что работает только отключение сценариев для всех страниц.

Что мне не хватает?

UPDATE # Я обнаружил, что сценарий-недействительный работает должным образом, и я могу заблокировать все, и белый список только некоторые ссылки. В Eclipse важно очистить проект и рабочую директорию Tomcat и, наконец, переиздать проект. Однако после нескольких дней тестирования я запускаюсь несколько раз в ситуации, когда после нескольких обновлений недопустимых сценариев записей в web.xml мои предыдущие проверенные комбинации не работают. Полагаю, это ошибка, но мне не удалось найти решение.

...