javaEE进阶

Cookie 是可以伪造的,比如说学生证是可以伪造的

Session 是不可以伪造的,这是学校系统记录在册的

如何获取 Cookie

我们先用 Servlet 原生的获取 cookie 的方式

我们在浏览器进行访问

但是实际上目前是没有 cookie 的,我们按 F12 进行添加

然后再重新访问,就能在 idea 看到 cookie 了

接下来我们用 String 的方式获取 cookie

这样就能获取到 cookie 了

也可以一次性拿两个,自己设置,想拿几个拿几个

我们发现 Servlet 的方式可以拿到所有 cookie ,但是 Spring 的方式只能一个一个地拿 cookie

实际中具体情况具体选择哪种方式

获取 Session

Session 的结构内容如下

这是原始的获取 Session 的方式

刚开始的时候 Session 为空

所以接下来我们先存放一个 Session

运行并且访问之后发现 cookie 中多了一行数据

用 fiddler 抓包就能发现这行数据是怎么来的,服务器告诉客户端要帮我们设置一个cookie,设置的cookie 内容如下,然后客户端接收到之后就会在 cookie 中加入这行内容,这就是 cookie 和 Session的关系,sessionId 可以看做他们俩之间的桥梁

此时就可以 getSession 了

Cookie 和 Session 之间主要是通过 SessionId 关联起来的.SessionId 是 Cookie 和 Session 之间的桥梁

通过 Spring 来获取 Session

此时运行程序之后 Session 就会被清空,所以我们在此之前还需要先进行 setSession,再进行getSession2

下面是另一种方式获得 Session

获取 header

我们先用传统方式获取 user-agent,获取使用的是哪个浏览器

这样我们就拿到了浏览器的信息

下面是使用注解的方式获取 header

相关推荐
我不叫武22 分钟前
一个用 Rust 写的离线编码查询桌面工具
前端
AI办公探索者30 分钟前
仓储物流AI任务执行的技术拆解:从WMS自动化到多设备协同的落地路径
运维·人工智能·ai·自动化
Web4Browser1 小时前
指纹浏览器 API 自动化怎么接:启动 Profile、获取 CDP 端点并连接自动化框架
前端·网络·typescript·自动化
Patrick_Wilson1 小时前
从 React 到 Flutter:写给前端的一张跨端知识地图
前端·flutter·react.js
颜酱2 小时前
06 | 把 meta_config 同步进 MySQL(生成阶段)
前端·人工智能·后端
longerxin20202 小时前
nano编辑器插入、编辑完整操作教程(Linux日志/配置专用)
linux·运维·编辑器
OpenTiny社区2 小时前
Loop Engineering:让 AI Agent 自己跑起来的工程方法
前端·github
IT_陈寒2 小时前
SpringBoot自动配置坑了我一周,原来问题这么蠢!
前端·人工智能·后端
cesium vue3 小时前
nginx 流媒体配置
运维·nginx
木心术13 小时前
GitHub Actions自动化运维实战:从CI/CD到全链路DevOps
运维·自动化·github