Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpOnly标志不工作_Java_Javascript_Http Headers_Xss - Fatal编程技术网

Java HttpOnly标志不工作

Java HttpOnly标志不工作,java,javascript,http-headers,xss,Java,Javascript,Http Headers,Xss,我在响应头set Cookie中设置了HttpOnly标志,如下所示 String sessionid = httpReq.getSession().getId(); httpRes.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + ";HttpOnly"); 但我仍然可以通过浏览器控制台中的document.cookie访问cookie。 我设置此标志的方式是否错误?如果您使用的是Servlet版本3或更高版本,则可以在web.xml中指

我在响应头
set Cookie
中设置了
HttpOnly
标志,如下所示

String sessionid = httpReq.getSession().getId();
httpRes.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + ";HttpOnly");
但我仍然可以通过浏览器控制台中的
document.cookie
访问cookie。
我设置此标志的方式是否错误?

如果您使用的是Servlet版本3或更高版本,则可以在web.xml中指定此标志,如下所示:

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

真的

有关更多详细信息和配置选项,请参阅模式定义:

您是否验证了线路上发生的情况?您使用的是哪种浏览器?您可以在页面内或仅在控制台内通过Javascript访问cookie吗?@JonSkeet我已在浏览器中检查了响应标题。
Set cookie
头被视为
Set cookie:JSESSIONID=session\u id;HttpOnly
。我检查过的浏览器是Firefox和Google Chrome。我已尝试仅在控制台中访问cookie。我没有尝试从页面内的Javascript访问它。控制台并不总是反映现实。您必须尝试通过以下方式访问此cookie:Javascript@hindmost我尝试从Javascript访问此cookie,我能够做到这一点。@最后面的响应我需要设置
HttpOnly
标志。对于单页应用程序,我是否需要在单个HTML文件响应或所有JavaScript文件的响应上设置
HttpOnly
标志?我没有使用servlet版本3,因此使用上述方法设置HttpOnly标志。但我仍然能够访问cookie。