记得在以前找工作的时候,可多次被问到如果客户端被禁用cookie,session还能使用吗?

今天终于找到了相关的答案:我们来看一下:

session是在服务器段保持会话数据的一种方法,对应的cookie是在客户端保存用户的数据,http协议是一种无状态的协议,服务器响应完之后就失去了与浏览器的联系,最早netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那服务器如何记住众多用户的会话数据呢?

首先要将客户端和服务端建立一一的联系,每个客户端都得有一个唯一的表示,这样的话服务器才能识别出来。建议唯一标识的方法有两种:cookie或者get的方式制定。

默认配置的PHP使用session的时候会建立一个名叫“PHPSESSID”的cookie(这个名称可以通过php.ini中的session.name值指定)

如果客户端禁用cookie,那我们可以通过指定的GET方式将这个session id传到服务器端(修改一下php.ini中的session.use_trans_sid等参数)。

<a href="p.php?<?php print session_name()?>=<?php print session_id()?>">xxx</a>,那也可以通过POST的方式传递session值

如果客户端禁用cookie,session还能使用吗?的更多相关文章

  1. session与cookie的区别? 如果客户端禁止 cookie session 还能用吗?

    一.session与cookie的区别 session:Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个 ...

  2. 客户端禁用cookie情况下的URL重写

    客户端禁用cookie情况下的URL重写: servlet: package com.stono.servlet.listenerorder; import java.io.IOException; ...

  3. 客户端禁用cookie

    如果客户端禁用cookie的话不影响session使用 的设置方法: <sessionState     cookieless="AutoDetect"

  4. php在客户端禁用cookie时让session不失效的解决方法

    cookie固然好,不过有些客户端浏览器会禁用cookie,这就会导致你所依赖cookies的程序会失效或出错,那么若真出现用户关闭cookies的情况,PHP应该如何再次使用session?方法还是 ...

  5. php 会话控制(禁用cookie后session为什么会失效?)

    首先说明一点:session不一定必须依赖cookie,只是php默认客户端sessionid基于cookie方式保存. 到此,我想你也应该了解了php默认的session客户端保存方式是基于cook ...

  6. 关于用户禁用Cookie的解决办法和Session的图片验证码应用

    当用户通过客户端浏览页面初始化了Session之后(如:添加购物车,用户登陆等),服务器会将这些session数据保存在:Windows保存在C:\WINDOWS\Temp的目录下,Linux则是保存 ...

  7. django框架--cookie/session

    目录 一.http协议无状态问题 二.会话跟踪技术--cookie 1.对cookie的理解 2.cookie的使用接口 3.cookie的属性 4.使用cookie的问题 三.会话跟踪技术--ses ...

  8. Javaweb学习笔记5—Cookie&Session

    今天来讲javaweb的第五阶段学习. Cookie和Session同样是web开发常用到的地方. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的 ...

  9. cookie禁用了,session还能用吗?

    Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案.但为什么禁用Cookie就不能得到Session ...

随机推荐

  1. React组件生命周期过程说明

    来自kiinlam github94 实例化 首次实例化 getDefaultProps getInitialState componentWillMount render componentDidM ...

  2. 搭建sonar,推动代码质量管理

    最近比较关注devops相关的文章,尝试搭建sonarqube服务,进行代码质量的分析和管理,先记录下本地环境的搭建和分析过程. 一.sonarqube服务搭建 官网地址:http://www.son ...

  3. undefined reference to `_init'问题解决

    今天利用CDT 的eclipse调试程序,遇到下面的问题: d:/plugin/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi ...

  4. <<Exceptional C++>> notes

    - class Complex { public: ) : real_(real), imaginary_(imaginary) { } Complex& operaor+=(const Co ...

  5. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  6. C#.Net Mvc运营监控,计算方法/接口/action/页面执行时间

    1.建立一个TimingActionFilter过滤器 public class TimingActionFilter : ActionFilterAttribute { public overrid ...

  7. js声明json数据,打印json数据,遍历json数据

    1.js声明json数据: 2.打印json数据: 3.遍历json数据 //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿对象型) json['b'] = ...

  8. CentOS下Apache配置多域名或者多端口映射

    CentOS下Apache默认网站根目录为/var/www/html,假如我默认存了一个CI项目在html文件夹里,同时服务器的外网IP为ExampleIp,因为使用的是MVC框架,Apache需开启 ...

  9. 基于redis分布式锁实现“秒杀”

    转载:http://blog.5ibc.net/p/28883.html 最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路. 业务场 ...

  10. 查看APK方法数的工具dex-method-counts

    做APK方法总能遇到方法数超限的问题(主要是方法数, 字段数, String数.等各种数都可能超过65k导致不能安装) 除了大公司都自己做了一些检查方法. 网上还有一些开源的查询工具. 给大家推荐一个 ...