HttpOnly / безопасные файлы cookie с Play Framework и Google App Engine

Мы разрабатываем приложение с помощью Play! 1.2.5 и развертывание в Google App Engine. В application.conf я установил файл cookie сеанса как httpOnly и безопасный:

application.session.httpOnly=true
application.session.secure=true

Когда я запускаю запрос локально, я вижу, что заголовки установлены правильно:

Set-Cookie: PLAY_SESSION=something;Expires=Mon, 10-Dec-2012 14:51:56 GMT;Path=/;Secure;HTTPOnly

При развертывании в Google App Engine я не вижу никаких флагов Secure или HTTPOnly для устанавливаемых файлов cookie. Почему?

Я не могу найти подобные проблемы в Интернете. Самое близкое, что я прочитал, это то, что GAE не поддерживает response.setHttpOnly (или что-то подобное), но из Play! исходный код я вижу, как создается простой файл cookie со значением httpOnly, установленным в логическое значение и записываемым в ответ. Не уверен, почему GAE не приняла бы это.

Спасибо!


person Razzie    schedule 10.12.2012    source источник
comment
Если вы по-прежнему сталкиваетесь с этой проблемой, попробуйте использовать гибкую среду App Engine установить эти параметры? Фактически, вас может заинтересовать текущий бета-выпуск гибкой Java 8 / Jetty 9.3 Среда выполнения, которая интегрирует Servlet 3.1 и поэтому должна позволять вам указывать оба параметра cookie.   -  person Alex    schedule 16.02.2017


Ответы (1)


Что можно сделать для отладки:

  • Выполните response.setHttpOnly для другого файла cookie (или response.setCookie с параметром httpOnly, установленным в true), а не для сеанса, чтобы увидеть, относится ли проблема ко всем файлам cookie.
  • В вашем контроллере проверьте request.cookies, карту со всеми полученными файлами cookie, чтобы увидеть значения httpOnly для полученных файлов cookie.
  • В зависимости от этих двух выше, возможно, проверьте, соответствует ли то, что у вас есть в request.cookies и response.cookies, в отношении httpOnly
  • В зависимости от вышеизложенного, возможно, отредактируйте файл cookie ответа, чтобы установить для httpOnly значение true.
  • Если ничего из вышеперечисленного не работает, возможно, сгенерируйте заголовок «Set-cookie» вручную. Получите значения из карты файлов cookie, удалите этот файл cookie с карты, чтобы он не дублировался, и выполните response.setHeader с созданным вручную

Все это может не дать вам решения, но, возможно, поможет вам понять, что происходит и возможно ли это вообще.

person palako    schedule 11.12.2012