iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Cookie中怎么设置HttpOnly属性
  • 473
分享到

Cookie中怎么设置HttpOnly属性

2023-06-04 03:06:56 473人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Cookie中怎么设置HttpOnly属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用拦截器实现,判断每次请求的响应是否包含SET-COOKIE头部,重写会

这篇文章将为大家详细讲解有关Cookie中怎么设置HttpOnly属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

利用拦截器实现,判断每次请求的响应是否包含SET-COOKIE头部,重写会话Cookie,添加需要的属性。虽较为生硬,但灵活性强。

新的规范api

新的规范添加SessionCookieConfig接口,用于操作会话Cookie,需要掌握以下主要方法:

setName(String name)修改Session ID的名称,默认为"jsESSIONID"setDomain(String domain)设置当前Cookie所处于的域setPath(String path)设置当前Cookie所处于的相对路径setHttpOnly(boolean httpOnly)设置是否支持HttpOnly属性setSecure(boolean secure)

若使用https安全连接,则需要设置其属性为truesetMaxAge(int maxAge)设置存活时间,单位为秒如何使用呢,很方便,在ServletContextListener监听器初始化方法中进行设定即可;下面实例演示如何修改"JSESSIONID",以及添加支持HttpOnly支持:

全局设置Session-Cookie相交互部分属性@WEBListenerpublic class SessionCookieInitialization implements ServletContextListener {private static final Log log = LogFactory   .getLog(SessionCookieInitialization.class);public void contextInitialized(ServletContextEvent sce) {  log.info("now init the Session Cookie");  ServletContext servletContext = sce.getServletContext();  SessionCookieConfig sessionCookie = servletContext    .getSessionCookieConfig();  sessionCookie.setName("YONGBOYID");  sessionCookie.setPath(servletContext.getContextPath());  sessionCookie.setHttpOnly(true);  sessionCookie.setSecure(false);  log.info("name : " + sessionCookie.getName() + "\n" + "domain:"    + sessionCookie.getDomain() + "\npath:"    + sessionCookie.getPath() + "\nage:"    + sessionCookie.getMaxAge());  log.info("isHttpOnly : " + sessionCookie.isHttpOnly());  log.info("isSecure : " + sessionCookie.isSecure());}public void contextDestroyed(ServletContextEvent sce) {  log.info("the context is destroyed !");}

}需要通过ServletContext对象获得SessionCookieConfig对象,才能够进一步自定义session cookie的属性。

无论以前的硬编码还是新的API实现,目标都是一致的,所产生头部信息也是完全一致。

毫无疑问,后者更为方便快捷,省缺了显示的操作响应元数据。

对当前站点的第一次请求,很容易从响应头信息中看到Set-Cookie的属性值:

不同浏览器平台上测试

在Safari、IE8、Opera 11 一切都很正常

Firefox 3.6、Chrome 9.0,JSESSIONID会继续存在:

YONGBOYID=601A6C82D535343163B175A4FD5376EA; JSESSIONID=AA78738AB1EAD1F9C649F705E

在所有浏览器中,SESSION ID等于新设置的YONGBOYID值(若不相等,问题就严重了!)

在客户端JS无法获得正确的SESSIONI ID了。

Tomcat服务器内置支持

可以不用如上显示设置Cookie domain、name、HttpOnly支持,在conf/context.xml文件中配置即可:

<Context useHttpOnly="true", sessionCookieName="YONGBOYID", sessionCookieDomain="/servlet3" … >...</Context>

既然JAVA应用服务器本身支持会话Cookie设定,那就没有必要在程序代码中再次进行编码了。这是一个好的实践:不要重复造轮子。

这里给出一段测试Session重写的一段脚本:

<div style="margin: 40px; paDDDing: 10px"><div><a href="sessionCookieTest">正常连接</a></div><div><a href="<%=response.encodeURL("sessionCookieTest") %>">重定向连接</a></div></div>

关于Cookie中怎么设置HttpOnly属性就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Cookie中怎么设置HttpOnly属性

本文链接: https://www.lsjlt.com/news/236340.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Cookie中怎么设置HttpOnly属性
    这篇文章将为大家详细讲解有关Cookie中怎么设置HttpOnly属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用拦截器实现,判断每次请求的响应是否包含SET-COOKIE头部,重写会...
    99+
    2023-06-04
  • NGINX & PHP Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性解决方案
    NGINX & PHP Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性解决方案 1 / 说明 基于安全的考虑,需要给cookie加上Secure和HttpOnly属性,HttpOnly比较好理解,设置...
    99+
    2023-09-01
    php 开发语言
  • PHP Apache 检测到会话cookie中缺少HttpOnly/Secure属性漏洞处理
    最近准备上线一个网站,按照要求进行了绿盟的漏洞扫描,其中“WEB应用扫描”发现了两个问题,可以算作一个类型,一起解决。 环境:龙蜥8Linux,宝塔集成环境(Apache+PHP) 解决方法: PHP...
    99+
    2023-08-31
    php apache https
  • 详解Springboot应用中设置Cookie的SameSite属性
    Cookie除了key和value以外有几个属性。 httpOnly 是否允许js读取cookiesecure 是否仅仅在https的链接下,才提交cookiedomain cook...
    99+
    2022-11-13
  • Springboot应用中如何设置Cookie的SameSite属性
    这篇文章主要为大家展示了“Springboot应用中如何设置Cookie的SameSite属性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Springboot应用中如何设置Cookie的Sam...
    99+
    2023-06-29
  • PHP中怎么设置Cookie
    PHP中怎么设置Cookie,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下关于PHP Cooki...
    99+
    2023-06-17
  • CSS中怎么设置 margin属性
    今天就跟大家聊聊有关CSS中怎么设置 margin属性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。CSS margin属性设置外边距的最简单的方法...
    99+
    2022-10-19
  • mysql属性怎么设置中文
    mysql中设置中文属性的方法mysql设置中文属性,需要在表中使用utf8编码如:create table test (       &n...
    99+
    2022-10-09
  • Cookie怎么设置
    本篇内容主要讲解“Cookie怎么设置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Cookie怎么设置”吧!Cookie设置Cookie的 设置非常简单,cookie 会在 http 头部单独...
    99+
    2023-06-08
  • Cookie的SameSite属性怎么用
    这篇文章将为大家详细讲解有关Cookie的SameSite属性怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Chrome 51 开始,浏览器的 Cookie 新...
    99+
    2022-10-19
  • jQuery中怎么设置特殊属性
    本篇文章给大家分享的是有关jQuery中怎么设置特殊属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。jQuery的属性使用attr()方法读...
    99+
    2022-10-19
  • CSS中怎么设置背景属性
    这篇文章主要为大家展示了“CSS中怎么设置背景属性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中怎么设置背景属性”这篇文章...
    99+
    2022-10-19
  • CSS中怎么设置字体属性
    CSS中怎么设置字体属性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CSS字体CSS字体(font)属性定义文本中的字体。设置CSS字体...
    99+
    2022-10-19
  • mysql中怎么设置自增属性
    在mysql中设置自增属性的方法:1.启动mysql;2.登录mysql数据库;3.进入数据库;4.使用AUTO_INCREMENT语句设置自增属性;具体步骤如下:首先,在命令行中启动mysql服务;service mysql start ...
    99+
    2022-10-14
  • 怎么在javascript中设置src属性
    怎么在javascript中设置src属性?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持...
    99+
    2023-06-14
  • HTML Input属性怎么设置
    HTML Input属性可以通过在``标签内设置属性来进行设置。以下是几个常用的 input 属性:1. `type`:设置输入字段...
    99+
    2023-10-10
    HTML
  • CSS outline属性怎么设置
    CSS的outline属性用于设置一个元素的轮廓样式,它不占据空间,并且不会影响元素的布局。outline的值可以有以下几种:1. ...
    99+
    2023-09-05
    CSS
  • CSS background属性怎么设置
    CSS的background属性用于设置元素的背景样式,可以设置背景的颜色、图片、位置、重复等。下面是background属性的常见...
    99+
    2023-09-05
    CSS
  • CSS的padding属性和margin属性怎么设置
    本篇内容主要讲解“CSS的padding属性和margin属性怎么设置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS的padding属性和margin属性怎么设置”吧!CSS中paddin...
    99+
    2023-07-04
  • C#中Chart控件属性怎么设置
    C#中Chart控件的属性可以通过以下几种方式进行设置:1. 在设计视图中直接通过属性窗口设置。在Visual Studio中拖拽C...
    99+
    2023-09-21
    C# Chart
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作