`

转载:什么是HttpOnly

 
阅读更多

 

转载:https://www.cnblogs.com/softidea/p/6040260.html

什么是HttpOnly

 

1.什么是HttpOnly?

如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,具体一点的介绍请google进行搜索

2.javaEE的API是否支持?

目前sun公司还没有公布相关的API,但PHP、C#均有实现。搞javaEE的兄弟们比较郁闷了,别急下文有变通实现

3.HttpOnly的设置样例

javaEE
response.setHeader("Set-Cookie", "cookiename=value;
Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

 


具体参数的含义再次不做阐述,设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取
Cookie cookies[]=request.getCookies();
C#
HttpCookie myCookie = new HttpCookie("myCookie"); 
myCookie.HttpOnly = true; 
Response.AppendCookie(myCookie);

VB.NET
Dim myCookie As HttpCookie = new HttpCookie("myCookie") 
myCookie.HttpOnly = True 
Response.AppendCookie(myCookie)


但是在 .NET 1.1 ,中您需要手动添加
Response.Cookies[cookie].Path += ";HTTPOnly";

PHP4
header("Set-Cookie: hidden=value; httpOnly");

PHP5
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);

最后一个参数为HttpOnly属性

参考
http://www.owasp.org/index.php/HTTPOnly

转自:http://yzd.iteye.com/blog/787190

http://www.oschina.net/question/100267_65116

 

将cookie设置成HttpOnly是为了防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。

如何在Java中设置cookie是HttpOnly呢?
Servlet 2.5 API 不支持 cookie设置HttpOnly
http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/

建议升级Tomcat7.0,它已经实现了Servlet3.0
http://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/Cookie.html

但是苦逼的是现实是,老板是不会让你升级的。
那就介绍另外一种办法:
利用HttpResponse的addHeader方法,设置Set-Cookie的值
cookie字符串的格式:key=value; Expires=date; Path=path; Domain=domain; Secure; HttpOnly

//设置cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");

 

//设置多个cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");

response.addHeader("Set-Cookie", "timeout=30; Path=/test; HttpOnly");

 

//设置https的cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; Secure; HttpOnly");

在实际使用中,我们可以使FireCookie查看我们设置的Cookie 是否是HttpOnly

http://zhenghaoju700.blog.163.com/blog/static/13585951820138267195385/

分享到:
评论

相关推荐

    cookie设置httpOnly和secure属性实现及问题

    ### Cookie设置httpOnly和secure属性实现及问题 #### 一、引言 在现代Web开发中,保护用户的隐私和数据安全至关重要。其中一种常见的做法就是通过设置Cookie的`httpOnly`和`secure`属性来增强安全性。这两个属性...

    session配置secure和httpOnly

    本文重点讨论的是Cookie中的两个重要属性:`secure`和`httpOnly`,以及它们在实际应用中的配置和注意事项。 一、属性详解 1. `secure`属性:当设置为`true`时,Cookie只会通过HTTPS安全协议发送到服务器。这意味着...

    CSRF防护:HTTPOnly与Secure标志使用.docx

    CSRF防护:HTTPOnly与Secure标志使用.docx

    cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击.zip_js设置cookie值

    为了对抗这种攻击,HttpOnly属性应运而生。本文将详细介绍HttpOnly属性的作用,以及Java和PHP后台如何设置HttpOnly属性到浏览器的Cookie。 **HttpOnly属性详解** HttpOnly属性是Cookie的一个扩展,其主要目的是...

    Session Cookie的HttpOnly和secure属性

    如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。 对于以上两个属性, 首先,secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,...

    Express中间件用于保护cookie通过HttpOnly并添加标记检查是否存在

    httpOnly: true, // 启用HttpOnly secure: process.env.NODE_ENV === 'production', // 只在HTTPS环境下启用,以增加额外的安全层 sameSite: 'strict', // 防止跨站请求伪造(CSRF)攻击 maxAge: 3600000, // ...

    完整获取webBrowser1.Document.Cookie取不到HttpOnly的Cookie

    完整获取webBrowser1的Cookie HttpOnly的Cookie

    Set-Cookie: JSESSIONID=8AB51DC4244907FD9EBB063C7FD73CBA; Path=/; HttpOnly

    Cookie 路径属性安全设置 ...然而,在某些情况下,Cookie 中的路径属性可能会泄露项目路径,导致安全风险。本文将介绍如何解决 Cookie 路径属性暴露问题。 Cookie 路径属性的危险 在服务器中的项目中,如果 Cookie...

    httpwebreqeust读取httponly的cookie方法

    然而,有些Cookie被标记为`HttpOnly`,这意味着它们不能通过JavaScript等客户端脚本语言访问,以增加安全性,防止XSS(跨站脚本攻击)对Cookie的窃取。但有时开发者需要在服务器端代码中处理这些`HttpOnly` Cookie,...

    第九节 cookie的httponly设置-01

    Cookie 的 HttpOnly 设置详解 Cookie 是一种小型文本文件,由 Web 服务器保存在用户浏览器(客户端)上,用来存储用户信息。Cookie 通常用于辨别用户身份、进行 session 跟踪。Cookie 可以包含一些不敏感的信息,如...

    nextjs-client-auth-architectures:使用HttpOnly cookie时在Next.js中检测用户的身份验证状态客户端的示例体系结构

    此存储库包含示例体系结构,这些体系结构用于在使用HttpOnly cookie时在Next.js中检测用户的身份验证状态客户端。 开发它是为了支持两个博客文章: 。 本示例使用getInitialProps并提供两种版本: 。

    .net 获取浏览器Cookie(包括HttpOnly)实例分享.docx

    "了解 .net 获取浏览器 Cookie(包括 HttpOnly)实例分享" 在本文中,我们将探讨如何在 .net 环境中获取浏览器 Cookie,包括 HttpOnly 类型的 Cookie。 HttpOnly Cookie 是一种特殊类型的 Cookie,用于保护用户的...

    .net 获取浏览器Cookie(包括HttpOnly)实例分享

    标题中提到的关键知识点是“.NET 获取浏览器Cookie(包括HttpOnly)实例分享”。描述部分强调这是一个实例分享,说明了文章将提供一个具体的.NET环境下获取浏览器中Cookie的方法,包括那些标记为HttpOnly的Cookie。...

    mvc中cookie安全

    **描述分析:**描述指出我们需要关注如何在MVC应用中安全地读写Cookie,并利用Cookie的`HttpOnly`属性来防范通过jQuery或其他JavaScript库进行的跨站脚本(XSS)攻击。`HttpOnly`标记是一个重要的安全特性,它可以...

    PHP设置Cookie的HTTPONLY属性方法

    HTTPOnly属性的引入就是为了增强Cookie的安全性,防止恶意JavaScript代码通过浏览器读取和修改Cookie。本文将详细讲解如何在PHP中设置Cookie的HTTPOnly属性。 HTTPOnly属性是由微软在IE6 SP1中首先引入的,目的是...

    xss防御之php利用httponly防xss攻击

    对于PHP5.1及以后版本,可以在php.ini文件中添加如下配置来开启HttpOnly: ``` session.cookie_httponly = 1 ``` 这将为所有通过PHP会话管理的Cookie开启HttpOnly属性。 2. 使用ini_set()函数动态设置session....

    Retrieve HttpOnly Session Cookie in WebBrowser

    In order to help mitigate the risk of cross-site scripting, a new feature has been introduced in Microsoft Internet Explorer 6 SP1. This feature is a new attribute for cookies which prevents them from...

    Web应用安全:XSS的辅助性对策.pptx

    1. HttpOnly: HttpOnly是一种HTTP头部设置,它指示浏览器不要让JavaScript代码访问特定的Cookie。当Cookie带有HttpOnly标志时,即使网页中存在XSS漏洞,攻击者也无法通过JavaScript脚本获取或修改这些Cookie。这...

    闪灵CMS学校建站系统(含小程序) v5.0 bulid20191017

    优化:对开启httponly模式下无法读取cookie的主机作了兼容2.优化:https模式下对第三方分享代码做了兼容3.优化:联系页面百度地图的调用增加了对https协议的支持闪灵CMS学校建站系统 v5.0 build20191011更新说明:1....

    闪灵CMS医院建站系统(含小程序) v5.0 build20191018

    优化:对开启httponly模式下无法读取cookie的主机作了兼容2.优化:https模式下对第三方分享代码做了兼容3.优化:联系页面百度地图的调用增加了对https协议的支持闪灵CMS医院建站系统 v5.0 build20191018更新说明:1....

Global site tag (gtag.js) - Google Analytics