Cookie HttpOnly Secure
1. Change the configuration on context.xml
<Context cookies="true" crossContext="true">
<SessionCookie secure="true" httpOnly="true" />
<!-- Session persistence is disable by default. To enable for all web
apps set the pathname to a non-empty value:
<Manager pathname="SESSIONS.ser" />
To enable session persistence for a single web app, add a
WEB-INF/context.xml
-->
<Manager pathname="" />
<!-- Install an InstanceListener to handle the establishment of the run-as
role for servlet init/destroy events.
-->
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
2. Use response to write cookie back
Cookie[] cookies = ((HttpServletRequest) request).getCookies();
for (Cookie cookie : cookies){
if (cookie.getName().equalsIgnoreCase("JSESSIONID")){
((HttpServletResponse)response).setHeader("SET-COOKIE", String.format("%s=%s;Path=/storename;HttpOnly", cookie.getName(), session.getId()));
cookie.setSecure(true);
}else{
((HttpServletResponse)response).setHeader("SET-COOKIE", String.format("%s=%s;Path=/storename;HttpOnly", cookie.getName(), cookie.getValue()));
cookie.setSecure(true);
}
}
Or
HttpSession session = ((HttpServletRequest)request).getSession(false);
if(null != session && Utility.isValidString(session.getId())){
String sessionid = session.getId();
Log.info(this, "session create time: "+session.getCreationTime());
((HttpServletResponse)response).setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + ";HttpOnly");
}
Or
HttpSession session = ((HttpServletRequest)request).getSession(false);
if(null != session && Utility.isValidString(session.getId())){
String sessionid = session.getId();
Log.info(this, "session create time: "+session.getCreationTime());
((HttpServletResponse)response).setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + ";HttpOnly;Path=/storename;secure=true");
}
references:
https://community.jboss.org/thread/165079
http://www.iteye.com/problems/80699
分享到:
相关推荐
### Cookie设置httpOnly和secure属性实现及问题 #### 一、引言 在现代Web开发中,保护用户的隐私和数据安全至关重要。其中一种常见的做法就是通过设置Cookie的`httpOnly`和`secure`属性来增强安全性。这两个属性...
首先,secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,HttpOnly属性的目的是防止程序获取cookie后进行攻击。 其次,GlassFish2.x支持的是servlet2.5,而servlet2.5不支持Session Cookie的"HttpOnly"属性...
本文重点讨论的是Cookie中的两个重要属性:`secure`和`httpOnly`,以及它们在实际应用中的配置和注意事项。 一、属性详解 1. `secure`属性:当设置为`true`时,Cookie只会通过HTTPS安全协议发送到服务器。这意味着...
本文将深入探讨如何使用Express中间件来保护用户cookie,通过设置`HttpOnly`标志以及添加标记检查,以增强应用程序的安全性。 首先,理解`HttpOnly`标志至关重要。`HttpOnly`是服务器在设置cookie时可以添加的一个...
Cookie 的 HttpOnly 设置详解 Cookie 是一种小型文本文件,由 Web 服务器保存在用户浏览器(客户端)上,用来存储用户信息。Cookie 通常用于辨别用户身份、进行 session 跟踪。Cookie 可以包含一些不敏感的信息,如...
.httpOnly: true, // 防止JavaScript访问 .expires: Date(timeIntervalSinceNow: 3600 * 24 * 365) // 有效期一年 ]) if let cookieStore = WKHTTPCookieStore.shared { cookieStore.setCookie(cookie!) { _ in ...
Cookie是Web应用中用于存储用户状态的一种机制,它在客户端与服务器之间传递信息,常见的应用场景包括用户登录状态的保持、个性化...同时,结合HTTPOnly属性,可以进一步防止JavaScript注入攻击,增强Cookie的安全性。
Cookie 路径属性安全设置 Cookie 是 HTTP 协议中的一种机制,用于在客户端保存服务器端的信息,以便服务器端可以追踪用户的行为。然而,在某些情况下,Cookie 中的路径属性可能会泄露项目路径,导致安全风险。本文...
3. **Cookie安全性**:除了HTTPOnly,还可以使用Secure标志(只在HTTPS连接中发送Cookie),以及SameSite属性(防止CSRF跨站请求伪造攻击)来提高Cookie的安全性。 4. **Cookie的读取**:在PHP中,可以通过`$_...
2. **使用HttpOnly**:设置Cookie的HttpOnly属性,阻止JavaScript访问,减少XSS攻击的风险。 3. **Secure标志**:在HTTPS连接上设置Cookie的Secure标志,确保Cookie只通过加密通道传输。 4. **限制Cookie的生命周期*...
- HttpOnly属性:启用HttpOnly可以防止JavaScript代码访问Cookie,减少跨站脚本攻击(XSS)的风险。 - Max-Age和Expires:控制Cookie的有效期,避免长期存储在客户端,保护用户隐私。 总结来说,Cookie是Web应用中...
7. **注意安全性**:HttpOnly cookie是为了防止JavaScript脚本访问,增强安全性。但在原生应用中,我们可能需要通过编程方式获取和设置cookie,因此需要权衡安全性和便利性。 总结来说,原生登录cookie保持提供给...
6. **HTTPOnly与Secure标志**:HTTPOnly标志防止JavaScript访问Cookie,降低XSS攻击的风险。Secure标志确保Cookie只在HTTPS连接上传输,增加安全性。 7. **Cookie的应用**:除了会话管理,Cookie还常用于个性化推荐...
- **跨站脚本攻击(XSS)**:防止恶意脚本读取Cookie,可以使用HttpOnly标志,使Cookie不可被JavaScript访问。 - **跨站请求伪造(CSRF)**:为每个需要验证的请求添加随机的CSRF令牌,以防止未经授权的请求。 3....
在Delphi编程环境中,...实践中,你可能还需要处理一些特殊情况,比如跨域Cookie、HTTPOnly Cookie和Secure Cookie,这些都是在实际开发中需要注意的细节。同时,了解HTTP协议和Web标准对更好地使用Cookie至关重要。
- HTTPOnly属性防止JavaScript通过`document.cookie`访问Cookie,减少XSS攻击的风险。 - Secure属性确保Cookie只能在HTTPS连接下传输,增强安全性。 压缩包内的“Test_dl”可能是一个示例代码或测试项目,包含了...
可以通过设置HttpOnly属性防止JavaScript访问Cookie,以降低XSS攻击风险;设置Secure属性确保Cookie只在HTTPS连接中传输,增加安全性。 七、Cookie管理最佳实践 1. 限制Cookie大小:每个Cookie的大小不应超过4KB,...
本ppt根据当前Web应用的安全情况,列举了Web应用程序常见的漏洞及危害,并给出防范措施。
- **使用HttpOnly标志**:设置`httpOnly`属性可以防止JavaScript通过`document.cookie`访问Cookie,从而降低XSS攻击的风险。 - **设置Secure标志**:当设置`secure`属性时,Cookie仅通过HTTPS协议传输,这有助于防止...
2. **HttpOnly**:设置Cookie的HttpOnly属性,阻止JavaScript访问Cookie,减少XSS攻击的风险。 3. **Secure Flag**:为Cookie添加Secure标志,确保只有在HTTPS连接下才会发送Cookie,防止明文传输。 4. **SameSite...