• 什么是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/

  • 相关阅读:
    JS统计还可以输入多少字数,用于向输入者提示信息
    php系统 骑士cms(74cms)个人版 整合UC
    win7下使用wamp server 使用PHP5.3配置Zend guard loader 注意事项,失败
    linux crontab定时任务运行shell脚本(shell执行sql文件)
    POJ 1179 Polygon
    POJ 1189 钉子和小球
    HDU 3788 ZOJ问题
    POJ 1191 棋盘分割【区间类DP】
    POJ 1338 Ugly Numbers
    假期学习第一步之......学习堆排序
  • 原文地址:https://www.cnblogs.com/softidea/p/6040260.html
Copyright © 2020-2023  润新知