Как отключить файлы cookie HttpOnly в Vaadin?

Я установил файл cookie в Vaadin и пытаюсь получить его из другого приложения, работающего на другом сервере, но мне не удалось получить тот файл cookie, который я установил в Vaadin?

Нам нужно отключить httpOnly cookie.

Кто-нибудь может помочь мне "Как решить эту проблему?"


person Azhaguvel A    schedule 17.02.2014    source источник


Ответы (1)


Файлы cookie, установленные в заголовке Set-Cookie. Чтобы получить его, вы можете использовать следующий код:

URLConnection urlConnection = new URL("url-of-your-web-app-here").openConnection();
List<String> cookiesList = urlConnection.getHeaderFields().get("Set-Cookie");

Вы можете удалить флаг вручную, удалив HttpOnly:

response.setHeader( "Set-Cookie", "name=value; HttpOnly");

Если вы работаете в среде Servlet 3.0 или более новой, настройте файл web.xml следующим образом:

<session-config>
   <cookie-config>
      <http-only>false</http-only>
   </cookie-config>
</session-config>

Примечание. Флаг HttpOnly — это дополнительный флаг, который используется для предотвращения доступа эксплойта XSS (межсайтовый скриптинг) к файлу cookie сеанса.

Смотрите также:

person Community    schedule 17.02.2014
comment
Спасибо Алексей, Есть ли альтернатива решению этого вопроса с помощью Java Spec, т.к. Я изменил конфигурацию web.xml, но она не работала. - person Azhaguvel A; 20.02.2014
comment
Я могу получить файл cookie, когда сервер работает по протоколу http. Наш сервер приложений работает по протоколу https с безопасными учетными данными. Так что это также одна из причин, чтобы столкнуться с такой проблемой. Есть ли другая ИДЕЯ, чтобы получить файл cookie и решить эту проблему без изменения файла конфигурации? - person Azhaguvel A; 25.02.2014