zoukankan      html  css  js  c++  java
  • session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?

    cookie 和session 的区别:
      cookie数据存放在客户的浏览器上,session数据放在服务器上。
      session中保存的是对象,cookie中保存的是字符串。
      session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到,cookie中如果设置里路径参数,那么同一个网站中不同的路径下的cookie是不可以互相访问的。
      cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
      session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
      单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
    所以个人建议:
      将登陆信息等重要信息存放为SESSION
      其他信息如果需要保留,可以放在COOKIE中
    Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了。
    假定用户关闭Cookie的情况下使用Session,
      其实现途径有以下几种:
         1) 设置php.ini配置文件中的“session.use_trans_sid = 1”,或者编译时打开打开了“--enable-trans-sid”选项,让PHP自动跨页传递Session ID。
         2) 手动通过URL传值、隐藏表单传递Session ID。
         3) 用文件、数据库等形式保存Session ID,在跨页过程中手动调用。
  • 相关阅读:
    Java Json 数据下划线与驼峰格式进行相互转换
    php 将数组转换网址URL参数
    Swagger2常用注解及其说明 (转)
    Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念(转)
    bootstrap.css.map 404
    Git发生SSL certificate problem: certificate ha错误的解决方法
    防火墙禁ping:虚拟机ping不通主机,但主机可以ping虚拟机
    PhpStorm本地断点调试
    Java语言中姐种遍历List的方法总结
    Ubuntu18.04安装mysql5.7
  • 原文地址:https://www.cnblogs.com/yyjie/p/8493469.html
Copyright © 2011-2022 走看看