cookie与toekn

cookie与toekn都是用来保存用户会话状态,实现不同页面免登陆的。cookie是比较早出现的技术,而token是为了防止CSRF攻击产生的。

相同点:

由服务器产生,返回给客户端
记录用户信息可靠性,保持会话状态

不同点:

cookie每次请求都会自动携带;token需要手动携带
cookie保存用户信息加密后的状态;toekn携带服务器生成的令牌。
toekn可以实现分布式服务器的验证;

关键是toekn不放在cookie中,而是放在攻击者无法获取到的参数中。如表单数据中,如a、from表单后面,或者input hidden,会进行加密。
客户端发送过去时也会进行加密,服务器解密后进行验证。

### 在Spring中使用CorsRegistry配置CORS 为了在Spring应用中配置跨域资源共享(CORS),可以通过实现`WebMvcConfigurer`接口并重写`addCorsMappings`方法来完成。此方法接收一个`CorsRegistry`对象作为参数,该对象提供了向注册表添加映射的方法。 下面是一个具体的例子: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**") // 应用到所有 /api 开头的请求路径 .allowedOrigins("http://example.com", "https://anotherdomain.org") // 允许来自指定源的请求 .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许特定 HTTP 方法 .allowedHeaders("header1", "header2", "header3") // 允许自定义请求头 .exposedHeaders("header1", "header2") // 暴露给浏览器额外的响应头 .allowCredentials(true) // 是否支持凭证 .maxAge(3600); // 预检请求的结果缓存时间 (秒) } } ``` 这段代码展示了如何利用`CorsRegistry`来进行详细的 CORS 设置[^3]。这指定了 `/api/` 下的所有 URL 可以被某些特定域名发起带有凭证的信息交互,并且限定了可使用的 HTTP 请求方式和头部字段等内容。 对于更复杂的场景,比如基于不同的端点有不同的 CORS 政策需求,则可以在同一个 `addCorsMappings()` 中多次调用 `addMapping()` 来分别设定不同路径下的规则。 当涉及到安全框架如 Spring Security 的时候,如果发现 CORS 配置不起作用,可能是因为 Spring Security 默认会覆盖掉全局级别的 CORS 设置。此时应该考虑调整 Spring Security 的配置逻辑或者按照官方文档指导的方式正确集成两者之间的协作关系[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨灰ash2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值