• 关于cookie和session


    Q1:cookie运行在客户端,session运行在服务端,对么?

    A:不完全正确,cookie是运行在客户端,由客户端管理,session虽然运行在服务端,但是session作为一个cookie是存储在客户端的。

    Q2:浏览器禁用cookie,cookie就不能用了,但session不会受浏览器影响,对么?

    A:错,浏览器禁止cookie,cookie就不能用了,但是session会受浏览器端的影响,很简单,在登录一个网站后,清空浏览器的cookie和隐私数据,单击后台的连接,就会因为丢失cookie而退出,当然,有办法通过url传递session。‘

    Q3:浏览器关闭后,cookie和session都消息了?

    A:错,存储在内存中的cookie确实会随着浏览器的关闭而消失,但存储在硬盘上的不会,更顽固的是flash cookie,夸张地说只有格式化硬盘,它才会消失。不过现在很多系统软件如360安全卫士和新版浏览器已经支持删除flash cookie,百度采用了这样的技术记忆用户:session在浏览器关闭后也不会消失,除非正常退出,代码中使用了显示unset删除session,否则session可能被回收,也有可能永远残留在系统中

    Q4:session比cookie更安全吗?不应该大量使用cookie吗?

    A:错误。cookie确实存在一些不安全的因素,但和JavaScript一样,即使突破前端验证,还是后端保证安全。一切都要看设计,尤其是涉及权限的时候,特别需要注意。通常情况下,cookie和session是绑定的,获得cookie就相当于获得了session,客户端吧劫持的cookie原封不动的传给服务器,服务器收到后,原封不动的验证session,若session存在,就实现了cookie和session绑定的过程,因此,不存在session比cookie更安全这种说法,如果说不安全,也就是由于代码不安全,错误的把用在身份验证的cookie作为权限验证来使用。

    Q5:session是创建在服务器上的,应该少用session而多用cookie,对吗?

    A:错,cookie可以提高用户体验,但会加大网络之间的数据传输量,应尽量在cookie中仅保存必要的数据。

    Q6:如果把别人机器上的cookie文件复制到我的电脑上(假设使用相同的浏览器),是不是能够登录别人的账号呢?如何防范?

    A:是的,这属于cookie劫持的一种做法,要避免这种情况,需要在cookie中针对ip、ua等加上特殊的检验信息,然后和服务器进行对比。

  • 相关阅读:
    spring jdbcTemplate使用queryForList示例
    凡事预则立,不立则废:好计划是成功的开始——布利斯定理
    传世智库:初识IPD-集成产品开发
    骑手送外卖获奖1500多万元又被撤销 法律专家:不能一扣了之
    leetcode-----129. 求根到叶子节点数字之和
    leetcode-----128. 最长连续序列
    leetcode-----127. 单词接龙
    leetcode-----126. 单词接龙 II
    leetcode-----125. 验证回文串
    leetcode-----124. 二叉树中的最大路径和
  • 原文地址:https://www.cnblogs.com/weiluoyan/p/6727756.html
Copyright © 2020-2023  润新知