zoukankan      html  css  js  c++  java
  • tp框架中的一些疑点知识--cookie和session的配置

    不同的浏览器采用不同的方式保存Cookie。

    IE浏览器会在“C:Documents and Settings你的用户名Cookies”文件夹下以文本文件形式保存,一个文本文件保存一个Cookie。

    1.1.2 记录用户访问次数

    Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookiecookie)向客户端设置Cookie。

    Cookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie。因为Cookie类位于包javax.servlet.http.*下面,所以JSP中不需要import该类。

    1.1.3 Cookie的不可跨域名性

    很多网站都会使用Cookie。例如,Google会向客户端颁发Cookie,Baidu也会向客户端颁发Cookie。那浏览器访问Google会不会也携带上Baidu颁发的Cookie呢?或者Google能不能修改Baidu颁发的Cookie呢?

    答案是否定的。Cookie具有不可跨域名性。根据Cookie规范,浏览器访问Google只会携带Google的Cookie,而不会携带Baidu的Cookie。Google也只能操作Google的Cookie,而不能操作Baidu的Cookie。

    Cookie在客户端是由浏览器来管理的。浏览器能够保证Google只会操作Google的Cookie而不会操作Baidu的Cookie,从而保证用户的隐私安全。浏览器判断一个网站是否能操作另一个网站Cookie的依据是域名。Google与Baidu的域名不一样,因此Google不能操作Baidu的Cookie。

    需要注意的是,虽然网站images.google.com与网站www.google.com同属于Google,但是域名不一样,二者同样不能互相操作彼此的Cookie。

    注意:用户登录网站www.google.com之后会发现访问images.google.com时登录信息仍然有效,而普通的Cookie是做不到的。这是因为Google做了特殊处理。本章后面也会对Cookie做类似的处理。

    boolean secure

    该Cookie是否仅被使用安全协议传输。安全协议。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false

    String path

    该Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”

    String domain

    可以访问该Cookie的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”

    1.1.9 Cookie的域名

    Cookie是不可跨域名的。域名www.google.com颁发的Cookie不会被提交到域名www.baidu.com去。这是由Cookie的隐私安全机制决定的。隐私安全机制能够禁止网站非法获取其他网站的Cookie。

    正常情况下,同一个一级域名下的两个二级域名如www.helloweenvsfei.com和images.helloweenvsfei.com也不能交互使用Cookie,因为二者的域名并不严格相同。如果想所有helloweenvsfei.com名下的二级域名都可以使用该Cookie,需要设置Cookie的domain参数,例如:

    Cookie cookie = new Cookie("time","20080808"); // 新建Cookie

    cookie.setDomain(".helloweenvsfei.com"); // 设置域名

    cookie.setPath("/"); // 设置路径

    cookie.setMaxAge(Integer.MAX_VALUE); // 设置有效期

    response.addCookie(cookie); // 输出到客户端

    这里是不同windows版本cookie存储的路径

    2000、Xp:
    Cookie:C:/Documents and Settings/[user name]/Cookies/

    Vista、Win7:
    在Vista、Win7中,权限管理较为严格,IE7/IE8 默认运行使用了保护模式机制,在保护机制下,IE 运行于低权限。如果 IE 运行在低权限下,则将目录设置为对应的Low目录,如下:
    Cookie: C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/
    C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/Low/

    进入到目录以后按最新时间排序第一个文件就是你当前操作的cookie文件,这里的文件名是随机生成的。

    是保存在sqlite数据库中的, 不可读的!!!

    [root@localhost ~]# cd /root/.mozilla/firefox/05yqkdom.default
    [root@localhost 05yqkdom.default]# ls
    adblockplus gmp prefs.js
    addons.json gmp-gmpopenh264 reading-list.sqlite
    blocklist.xml healthreport revocations.txt
    bookmarkbackups healthreport.sqlite search.json
    cert8.db healthreport.sqlite-shm search-metadata.json
    compatibility.ini healthreport.sqlite-wal secmod.db
    content-prefs.sqlite jetpack sessionCheckpoints.json
    cookies.sqlite key3.db sessionstore-backups
    cookies.sqlite-shm lock SiteSecurityServiceState.txt
    cookies.sqlite-wal logins.json storage
    crashes mimeTypes.rdf times.json
    datareporting minidumps webapps
    enumerate_devices.txt permissions.sqlite webappsstore.sqlite
    extensions places.sqlite webappsstore.sqlite-shm
    extensions.ini places.sqlite-shm webappsstore.sqlite-wal
    extensions.json places.sqlite-wal xulstore.json
    formhistory.sqlite pluginreg.dat
    [root@localhost 05yqkdom.default]# vim cookies.sqlite
    [root@localhost 05yqkdom.default]# vim cookies.sqlite-shm
    [root@localhost 05yqkdom.default]# vim cookies.sqlite-wal
    [root@localhost 05yqkdom.default]#

    cookies.sqlite


    设置cookie为空

    创建cookie

    分页的样式:

  • 相关阅读:
    [经典SQL语句]根据父级ID查找所有子级ID,并将所有ID用逗号隔开返回
    小程序页面之间传值
    微信小程序样式wxss各种问题总结(不断更新)
    产品经理--用户体验设计
    linux(centos)下为php添加添加GD扩展
    discuzx3.2发帖流程
    linux(centos)下配置nginx配置文件nginx.conf显示语法高亮
    Mysql关于字段的操作(记录)
    Mysql为表字段添加索引(记录)
    laravel-admin报错: Driver [] is not supported.
  • 原文地址:https://www.cnblogs.com/bkylee/p/9014478.html
Copyright © 2011-2022 走看看