2014-02-17 5 views
2

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

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

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

ответ

1

Печеньки, установленные в заголовке 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 XSS (Cross-Site Scripting) из доступа к куки-файлу сеанса.

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

+0

Спасибо Алексей, Есть ли альтернатива, чтобы решить эту проблему с помощью Java-Spec, потому что. Я изменил конфигурацию web.xml, но не работал. –

+0

Проверьте заголовки ответов, возможно, вы установили там cookie. Также я могу порекомендовать вам проверить, что 'httpOnly' отключен в' conf/context.xml', 'useHttpOnly =" true "' не должен находиться в ' ...' –

+0

Определить 'useHttpOnly =" false "' в 'context.xml' file.' useHttpOnly' по умолчанию установлен в' 'true''. ([в tomcat 7] (http://tomcat.apache.org/tomcat-7.0-doc/config/context.html)) по крайней мере. –

Смежные вопросы