Отсутствует атрибут HttpOnly для идентификатора сеанса с протоколом HTTP

Раньше я получал HttpOnly для обоих протоколов HTTP/HTTPS, но отсутствовал безопасный атрибут.

Чтобы добавить атрибут «Безопасный», я добавил secure = «true» в синтаксис порта соединителя server.xml, как показано ниже:

<Connector address="10.23.17.69" port="8000" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="60000" disableUploadTimeout="true" URIEncoding="UTF-8"  server="Dev" secure="true" />

Также добавлен «cookie-config» в web.xml, как показано ниже:

<session-config>
    <session-timeout>120</session-timeout>
    <cookie-config>
        <secure>true</secure>
        <http-only>true</http-only>
    </cookie-config>
</session-config>

Теперь для протокола HTTPS я получаю флаги «Безопасный» и «HttpOnly» как истинные для файла cookie сеанса, как показано ниже.

Но для протокола HTTP я не получаю атрибут HttpOnly. Мне нужно "HttpOnly=true" в случае протокола HTTP.

Обратите внимание, что элемент «Контекст» моего context.xml уже содержит атрибут useHttpOnly следующим образом:

<Context useHttpOnly="true">
 ....
</Context>

Любое предложение очень ценится.


person Jatin    schedule 27.12.2016    source источник


Ответы (1)


Прочтите эту статью. Я думаю, вы неправильно установили атрибут сеансовых файлов cookie.

Должен быть:

<Context cookies="true" crossContext="true">
  <SessionCookie secure="true" httpOnly="true" />
person Jayampathy Wijesena    schedule 16.11.2017