php禁止浏览器记住密码,关于PHP中浏览器禁止Cookie后,Session是否能继续使用

2023-11-10

今天去面试,被问到浏览器禁止了Cookie后,Session还能继续使用吗?当时很自信的说当然不能用了,把之前了解到的信息负复述了一边,面试官很是无奈,很显然失败的面试,回来后找了度娘,果不其然,以后面试的每个问题都需要认真对待啊。

关于PHP中浏览器禁止Cookie后,Session能使用吗?我们来做些测试,然后说明原理。

我建立两个文件session_test.php和session_a.php内容分别是:

session_start();

$_SESSION['url'] = 'http://www.phpddt.com';

echo '这个页面取到的session值:'.$_SESSION['url'];

echo "另一个页面";

session_start();

echo "看这里是否获取到session的值:".$_SESSION['url'];

运行session_test.php结果:

0a4304f5c7d3131ef7c78a414b1edffb.png

点击另一个页面,默认当然是可以获取的,但是当我禁止cookie后呢?

ec671cdf63d1feccba709026f8abef53.png看看session_a.php结果:

152f1e10d1cb22bff6c05e5aba11cc5d.png

PHP中的session在默认情况下是使用客户端的Cookie来保存session id的,所以当客户端的cookie出现问题的时候就会影响session了。但是Session并不完全依赖Cookie,它还可以通过URL Get传递session id的。这需要你将php.ini中session.use_trans_sid = 1,这表示允许SessionID通过URL明文传输,既然GET可以,那么POST传递session id我觉得也可以吧。

好,这样,把上面session_test.php和session_a.php改造下就可以使用sesson了:

session_start();

$_SESSION['url'] = 'http://my.oschina.net/u/585327/blog/515341';

echo '这个页面取到的session值:'.$_SESSION['url'];

?>

=<?php  print session_id() ?>">另一个页面

session_id($_GET['PHPSESSID']);

session_start(); echo "看这里是否获取到session的值:".$_SESSION['url'];

如愿以偿:

d459869c16334c76abc134d66791e339.png

最后说明:

php.ini 中 SESSION 的配置

session.use_only_cookies = 1; // 开启仅使用cookies存放会话id

session.use_trans_sid = 1; // 允许SessionID通过URL明文传输

在这种情况下虽然已经允许了SessionID通过URL明文传输,担是同时又开启了仅使用cookies存放会话SessionID,所以在URL中明文传输的PHPSESSIONID参数值是无效的,SESSION不能用。

php.ini 中 SESSION 的配置

session.use_trans_sid = 0; // 禁止SessionID通过URL方式明文传输

SESSION 不能用, 这是最这安全的做法,也是php.ini 的默认配置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php禁止浏览器记住密码,关于PHP中浏览器禁止Cookie后,Session是否能继续使用 的相关文章

  • Docker上安装DM8数据库

    Docker Docker是一种运行于Linux和Windows上的软件 用于创建 管理和编排容器 Docker官网 Empowering App Development for Developers DockerLearn how Doc
  • SQL数据结构timestamp

    既然遇到了 那就记录它吧 hairy377 在sqlyog中建表时 需要自动获取时间或者根据表的改变修改时间 可以使用timestamp数据结构 默认值 CURRENT TIMESTAMP 如果需要记录更新的时间 则勾上更新 这是在sqly
  • docker报错:WSL 2 installation is incomplete

    docker报错 WSL 2 installation is incomplete 错误原因 大概率是wsl未安装或者是未升级成wsl2 检查wsl版本方法 在powershell中使用命令wsl l v 我的已经是升级成了wsl2 所以V
  • 【Hbuilder+vue项目学习】新项目初建

    下载uView空白模板 下载包中的内容 导入在Hbuilder X中导入项目即可创建成功 在gitee上管理项目 填写好名称 介绍等信息 点击创建即可 点击HbuilderX下的终端图标 进行上传项目操作 emmm终端一片空白 用不了 网上
  • 视觉注意力的循环神经网络模型

    我们观察PPT的时候 面对整个场景 不会一下子处理全部场景信息 而会有选择地分配注意力 每次关注不同的区域 然后将信息整合来得到整个的视觉印象 进而指导后面的眼球运动 将感兴趣的东西放在视野中心 每次只处理视野中的部分 忽略视野外区域 这样
  • 神经网络中关于卷积池化的计算(不为整数时,卷积向下取整,池化向上取整)

    输入图片大小为200 200 依次经过一层卷积 kernel size 5 5 padding 1 stride 2 pooling kernel size 3 3 padding 0 stride 1 又一层卷积 kernel size
  • 1015 德才论 (25分)

    1015 德才论 25分 宋代史学家司马光在 资治通鉴 中有一段著名的 德才论 是故才德全尽谓之圣人 才德兼亡谓之愚人 德胜才谓之君子 才胜德谓之小人 凡取人之术 苟不得圣人 君子而与之 与其得小人 不若得愚人 现给出一批考生的德才分数 请
  • 【数模】时间序列分析

    时间序列也称动态序列 是指将某种现象的指标数值按照时间顺序排列而成的数值序列 时间序列分析大致可分成三大部分 分别是描述过去 分析规律和预测未来 本讲将主要介绍时间序列分析中 预测未来 常用的三种模型 并将结合Spss软件对时间序列数据进行
  • Docker - 实现本地镜像的导出、导入(export、import、save、load)

    目录 一 使用 export 和 import 1 查看本机的容器 2 导出镜像 3 导入镜像 二 使用 save 和 load 1 查看本机的容器 2 保存镜像 附 两种方案的差别 1 文件大小不同 2 是否可以对镜像重命名 3 是否可以
  • STM32实战项目—停车计费系统

    文章目录 一 任务要求 1 1 概述 1 2 串口收发 1 2 1 串口输出内容 1 2 2 串口接收内容 1 3 说明 二 实现思路 2 1 指令判别 2 1 车辆进入 2 2 车辆驶出 2 3 费率调整 三 程序设计 3 1 串口接收消
  • 强化学习算法实现自动炒股

    强化学习算法自动炒股 本文利用强化学习算法 PG 来对股票市场的指数进行交易研究 感兴趣的朋友可以在这个基础上导入其他市场的数据 添加 observation 的维度 本文仅使用了 当天收盘价 和 与前一天收盘价的差值 两个维度 操作 ac
  • linux当前目录作用,详解linux下mnt目录作用

    linux下mnt目录的作用 mount 英文解释 登上 爬上 攀登 骑上 乘上 跨上 可直接理解为 挂载 挂接光驱 USB设备的目录 加载后 会在mnt里多出相应设备的目录 mnt是mount的缩写 Mount命令 需要注意的 1 挂载点
  • 打印工资条怎么做到每个人都有表头明细_这两种工资条制作技巧,HR们不能不知道!...

    每月一到发薪日 给员工发送工资条的时候 HR们都被一大堆的数据和表格弄得焦头烂额 如何快速整理数据 制作工资条是每个HR都想得到的答案 本文就手把手地教大家如何利用excel或工资条生成器 快速地制作工资条 一起来看看吧 第一种 传统方式
  • 基于SpringBoot的网络海鲜市场系统的设计与实现

    网络海鲜市场系统管理数据的工具是MySQL 编码的语言是Java 运用的框架是Spring Boot框架 该系统可以实现对商品的购买 对论坛帖子的发布与回复论坛帖子 查看商品资讯 修改或删除购物车商品 对订单信息进行管理等功能 网络海鲜市场
  • 几种常用发布方式 平滑发布、灰度发布、蓝绿发布

    发布方式 1 平滑发布 在发布的过程中不影响用户的使用 系统不会因发布而暂停对外服务 不会造成用户短暂性无法访问 保障服务一直可以持续使用 在单机模式下 启动多端口 如有 upstream myapp server 服务1 8080 app
  • JAVA开发管理(敏捷诞生的历史背景)

    诞生背景 随着软件规模的发展和商业化 软件开发模式的管理显得尤为重要 在软件规模较小时 一个人就可以单独完成软件的编写 测试和发布 当软件规模和复杂度越来越高时 我们不得不进行协调工作 多人完成一个软件的开发 在没有管理的背景下 软件的编写
  • #pragma once和#ifndef

    pragma once用法总结 1 pragma once这个宏有什么作用 为了避免同一个头文件被包含 include 多次 C C 中有两种宏实现方式 一种是 ifndef方式 另一种是 pragma once方式 在能够支持这两种方式的
  • 英语写作神器Quillbot---如何使用免费的Premium功能

    英语写作神器Quillbot 如何使用免费的Premium功能 本文主要记录如何在国内免费使用Quillbot的Premium功能 也就是在Google Chrome中安装相应的插件 目录 英语写作神器Quillbot 如何使用免费的Pre
  • C语言:void的用法即解析

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 void是否可以定义变量 为什么 二 void修饰函数的返回值和参数 1 void用来作为函数返回值 2 void作为函数参数 三 void指针 总结 提示 以

随机推荐

  • 苹果手机点击输入框时页面自动放大

    一 问题描述 点击input搜索框时 苹果手机页面会自动放大 二 解决问题 user scalable no是 禁止手动缩放 添加此属性后便不可手动控制页面大小
  • Matlab查看像素坐标

    在matlab弹出的figure中随鼠标移动实时显示该处坐标和像素值 在command window中输入impixelinfo即可 在当前图像中查看信息
  • 成本高、落地难、见效慢,开源安全怎么办?

    作者 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 2021年底 Log4j漏洞引发全球信息安全大地震 世界各国政府 非营利基金会 智库都在高度关注开源安全领域 然而许多公司尽管害怕被开源安全问题所波及 但仍未采取相应的策略
  • 遥感影像语义分割:数据集制作

    遥感影像语义分割 数据集制作 一 标签标注工具及注意事项 二 影像分块及代码 目前已经有一些已经关于遥感影像解译的公开数据集 我们可以拿这些数据来做深度学习模型训练 但是在实际业务中 我们需要针对特定的需求制作自己的数据集 在这里记录一下做
  • vue 获取用户位置 高德_vue引入高德地图获取经纬度地址

    1 在index html引入高德地图 key找个适合例如 160cab8ad6c50752175d76e61ef92c50 2 在webpack base conf js 配置引入 externals AMap AMap 3 在vue文件
  • Android平台GB28181设备接入端如何调节实时音量?

    我们在对接Android平台GB28181设备接入端的时候 有开发者提出这样的疑惑 如何调整设备接入端的实时音量 实际上 这块我们前几年在做RTMP直播推送模块的时候 已经发布了相关的接口 这里再回顾下 SmartPublisherJniV
  • SQL基础知识(持续更新中)

    SQL通用语法 1 单行多行书写 分号结尾 2 可用空格 缩进来增强语句可读性 3 不区分大小写 建议关键字大写 4 注释是 或者 多行 分类 DDL 数据定义语言 定义数据库对象 DML 数据操作语言 用来对表中数据进行增删改 DQL 数
  • linux-scp传输失败问题

    WARNING REMOTE HOST IDENTIFICATION HAS CHANGED IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY Someone could be eav
  • 无人机姿态融合——EKF

    联系方式 860122112 qq com 一 实验目的 使用惯性测量单元IMU和磁场传感器 磁力计 的信息 通过EKF对四旋翼无人机进行姿态融合 二 实验环境 ROS机器人操作系统 三 实验步骤 1 安装hector quadrotor
  • 3ddfa v2 实测 笔记

    目录 2d人脸关键点opencv 演示代码 不带smooth emoca 3d生成 官方开源代码相关 学习笔记
  • OS常见面试题

    常见OS面试 常见面试题 进程和线程的区别 死锁的必要条件 怎么处理死锁 Window内存管理方式 段存储 页存储 段页存储 进程的几种状态 IPC几种通信方式 什么是虚拟内存 虚拟地址 逻辑地址 线性地址 物理地址的区别 1 进程和线程
  • jupyter问题 tensorflow问题

    1 tensorflow GPU安装时间的版本问题 python cuDNN CUDA版本要对应 2 cuda 安装命令 3 当新创建conda环境时 在jupyter中使用需要进行一下步骤 4 tensorflow gpu3 0版本需要控
  • 【计算机网络】8、telnet 协议 与 golang、rust 实现

    文章目录 一 背景 二 rust 实现 三 go 实现 一 背景 http 和 ftp 可以获取远端 server 的文件 而 telnet 是基于 tcp 的协议 其可以普通用户的特权身份登录 server 并获取其制定 应用或数据的权限
  • vue路由守卫(一张图搞清)

    Vue路由守卫主要分为 全局路由守卫 路由独享守卫 组件内部守卫 常常用来拦截页面 比如新用户下单时未登录时弹出登录页面 比如一些页面需要使用token值来进行操作 判断没有token值就弹出登录或者跳到登录页面 重新获取token 导航守
  • javaWeb项目如何添加jar包

    java普通项目引入jar包就可以了 但是针对javaWeb项目却无效 添加jar包的方法是找到apache tomcat目录 将jar包放到lib目录下 只针对使用的是apache tomcat服务器的javaweb项目 使用其它服务器的
  • 计算机及网络维护知识,电脑网络维护需要知道哪些知识?

    1 首先是网线 双绞线 连接线的制作 双绞线制作有568A和568B两个标准 日常以568B标准较常用 568B标准按颜色排序为 1 橙白 2 橙 3 绿白 4 蓝 5 蓝白 6 绿 7 棕白 8 棕 使用568A标准可将568B标准中橙
  • 在Linux中安装nodejs(已编译版安装方法)

    背景 本篇文章是继 在Linux中安装nodejs 未编译版安装方法 的续集 两种方法我更推荐这种 简单 连我一个小白都会的方法 废话不多说 上干货 安装步骤 第一步 下载安装包 你可以在这里下载好了往服务器上传 也可以执行如下命令 wge
  • 2022个人投资者投资行为分析报告

    导读 报告 发现 在经历了2022年投资市场的激荡起伏后 超半数受访者对未来1 2年的投资市场仍持乐观态度 但在行动上将更为谨慎 2022年的金融市场中 超半数投资者的投资风格为稳健型 对明星基金经理 历史高收益基金追捧热情明显回落 关注公
  • Abp Framework中文文档上线

    感谢 ABP框架中国小组 给我们带来的ABP中文翻译 Web 为方便广大学习爱好者随时查阅 现推出了Gitbook风格的在线阅读文档 http www webplus org cn document abp 反馈交流 http www we
  • php禁止浏览器记住密码,关于PHP中浏览器禁止Cookie后,Session是否能继续使用

    今天去面试 被问到浏览器禁止了Cookie后 Session还能继续使用吗 当时很自信的说当然不能用了 把之前了解到的信息负复述了一边 面试官很是无奈 很显然失败的面试 回来后找了度娘 果不其然 以后面试的每个问题都需要认真对待啊 关于PH