Параметр jsp lang автоматически сохраняется в cookie в Struts 1.1 - PullRequest
0 голосов
/ 24 августа 2018

Мое приложение работает на стойках 1.1 на Tomcat 7.0.47.Всякий раз, когда я запрашиваю jsp вроде этого:

http://localhost:8080/myTestPage.jsp?lang=fr

Значение lang = fr автоматически сохраняется в файлах cookie.Даже если jsp не связан с действием в конфигурации и содержит только «код шаблона eclipse jsp».

Это проблема безопасности, так как этот параметр не контролируется (вы можете ввести JS).

Как или почему этот параметр сохраняется?Такое поведение применяется только для параметра lang.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Наконец, я нашел класс, вызывающий проблему, используя профилировщик (jvisualvm.exe), поставляемый с JVM:

Это не имеет ничего общего со стойками. Это был пользовательский Tomcat Valve , настроенный в файле server.xml (уровень сервера). Этот клапан был в банке в папке / lib.

# server.xml
<Valve className="com.example.ValveExample" >

Это объясняет, почему я не смог найти класс, его не было видно из пути к классам проекта.

Итак, я просто изменил исходный код клапана, чтобы он соответствовал желаемому поведению, упаковал Jar и снова поместил его в / lib.

0 голосов
/ 02 сентября 2018

Похоже, ваш перехватчик файлов cookie активен в (вашем / одном из ваших) конфигурационном файле, примерно так:

<action ... >
   <interceptor-ref name="cookie">
      <param name="cookiesName">cookie1</param>
      <param name="cookiesValue">cookie1value</param>
   </interceptor-ref>
   <interceptor-ref name="cookie">
      <param name="cookiesName"<cookie2</param>
     <param name="cookiesValue">cookie2value</param>
   </interceptor-ref>
   ....
 </action>

По этой ссылке: https://struts.apache.org/core-developers/cookie-interceptor.html

...