当前位置:   article > 正文

cookie中存储的值设置httponly和secure_c# httpcookie 怎么看httponly secure 生效

c# httpcookie 怎么看httponly secure 生效

最近公司的项目有要求将sessionid做成httponly和secure可配置的设定。

首先什么是httponly和secure呢?是cookie中的两个属性

当设置了httponly为true时,通过js脚本是无法获取到cookie的信息的。防止XSS攻击

secure为true时,服务只能通过https来进行cookie的传递,使用http服务无法提供服务。

设置sessionid, 在浏览器可以通过F12查看当前服务页面cookie信息,可以看到jsessionid:

由图可以看到最后的几个指标中有HTTP,代表了httponly属性,当设置了httponly时,就会有对勾出现。还有Secure的值,显示当前是否配置了Secure的属性要求。

配置jsessionid的httponly,secure

这个可以直接配置项目中的web.xml进行配置,配置如下,添加session-config标签

  1. <session-config>
  2. <session-timeout>120</session-timeout>
  3. <cookie-config>
  4. <http-only>false</http-only>
  5. <secure>false</secure>
  6. </cookie-config>
  7. </session-config>

jsessionid的配置主要跟tomcat有关,tomcat6httponly默认是关闭的,tomcat7默认是启用的,需要配置content.xml来解决了;

当然其他放进cookie中的信息也可以配置这两个属性值

项目一:cookie是使用了spring框架的cookie组件org.springframework.web.util.CookieGenerator,集成了CookieGenerator类。由于是老项目,通过xml方式可以注入参数信息到bean中。

CookieGenerator提供了isCookieHttpOnly方法和isCookieSecure方法,做是否要设置这两个值得判断方法,当然默认值都是false,需要注入才可以,通过xml引用properties中得配置信息,即可实现在properties中控制这两个值的使用。

项目二:cookie直接用的javax.servlet.http.Cookie。这个可以取properties中的设置的两个属性的开关,判断是否需要设置,直接set这两个属性就ok了。

 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号