zoukankan      html  css  js  c++  java
  • Cookie与Session

    Cookie:

    向客户端写入Cookie以及获取Cookie中的值

    Cookie cookie=new Cookie("key","value");  //第一个参数是键,第二个参数是键(类似Map集合的键值对)
    cookie.setMaxAge("int second");           //设置cookie的存活时间
    response.addCookie(Cookie cookie);        //将cookie添加到客户端
    
    //从客户端获取cookie
    String cookie;
    Cookie[] cookies=request.getCookies();
    if(int i=0;i<cookies.length;i++)
    {
        if(cookies[i].getName().equals("想要得到的Cookie名称"))
        {
             cookie=cookies[i].getValue();
        }
    }
    //将同一个cookie中的值分开(例如值的格式是:a,b,c……)
    String[] array=cookie.split(",");
    String a=array[0];
    String b=array[1];
       ……

    Cookie的作用:

    1、Cookie可以持久的保存一些和客户相关的信息。

    2、Cookie可以帮助服务器端保存多个状态信息,但是又不用服务器端专门分配存储资源,减轻了服务器的负担。 

    Cookie不安全的原因:

    1、可以利用跨站技术将信息发给目标服务器;为了隐藏跨站脚本的URL,可以结合Ajax(异步JavaScript和XML)后台窃取Cookie。

    2、通过某些软件,窃取硬盘Cookie。

    解决Cookie安全问题的方法:

    1、Session代替Cookie

    2、及时删除Cookie

        a、设置Cookie的失效时间

        b、通过浏览器删除Cookie

    3、禁用Cookie

    关于Session这里只补充两点:

    session.removeAttribute("参数名");//移除session中的参数
    session.invalidate();             //干掉session

    问题:从session中获取一个集合,移除集合中的一个元素,不放回session,那么session中是否还有存在这个元素?

            答:不存在,因为集合是一个引用对象,session和集合指的是同一片内存。

  • 相关阅读:
    vue 的模板编译—ast(抽象语法树) 详解与实现
    Vue 组件(component)之 精美的日历
    nvm 装 nodejs 重启终端失效的解决方法
    vue 2 仿IOS 滚轮选择器 从入门到精通 (一)
    np.stack() 与 tf.stack() 的简单理解
    PHP 之 Ci框架下隐藏index.php
    Boosting 简单介绍
    Adaboost算法流程及示例
    Python 之 解码汉字乱码(如果gbk、utf8都试过不行,可以试试这个)
    Linux 之 tar和nc传文件
  • 原文地址:https://www.cnblogs.com/darren0415/p/6039735.html
Copyright © 2011-2022 走看看