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 мои предыдущие проверенные комбинации не работают. Полагаю, это ошибка, но мне не удалось найти решение.