`
cantellow
  • 浏览: 848299 次
  • 性别: Icon_minigender_1
  • 来自: 草帽海贼团
社区版块
存档分类
最新评论

cookie的陷阱

    博客分类:
  • web
 
阅读更多

 

问题简述

在做一个自动登录功能,登录的时候持久化cookie(没有加密,仅供测试):

 

final Cookie cookie = new Cookie("user", user.getId());
cookie.setMaxAge(5 * 60);
cookie.setPath("/");
inv.getResponse().addCookie(cookie);

 

 注销的时候删除cookie

final Cookie c = new Cookie(cookie.getName(), null);
c.setMaxAge(0);
inv.getResponse().addCookie(c);

 问题来了,此cookie根本没有被删除,也就是说注销根本不起作用。

直接原因

删除的时候没有设置path,默认的path跟当前的uri有关,也就是说如果注销的uri为“xxx/user/logout”,那么就设置cookiepath为“xxx/user”,而对cookie来说,name不是它的唯一标识,还包括domainpath,直接原因是删除的时候没有显示的指定path为“/”。

扩展阅读

Path的可见性

同一个domain下,当前请求只能读取到其uri的所有父类uricookie,“读取到”是什么概念呢,在servlet中就是说从request取出来的cookies存在你想要的cookie。比如path为“/”,那么所有domain下的uri都能读取到,如果path为“/lib”,那么只有“/lib/…”下面的uri能够读取到,如果path为“/lib/user”,那么uri为“/lib”的请求从request里取出来的cookie就不包含path为“/lib/user”的cookie,这就是path的可见性。

cookie中只能取出key/value

在调试的时候,我发现从request里取出来的cookie只有keyvalue,其他诸如domainmaxage等信息都丢失了,不是很明白其中的缘由,做个记录,如有高人路过指点就再好不过了。

 

分享到:
评论
2 楼 cantellow 2011-08-20  
greatwqs 写道
说的明白一些你这个就是sso基于cookie的单点登录一种实现.
说起cookie中的demain,我在nginx搭建的一个域名上面测试过,也不能显示出domain的值.

但是我在初始化cookie的时候还是把cookie全部初始化了的.

嘿,多在互联网打拼一年就是不一样,我才入门,还有很多需要学的。
1 楼 greatwqs 2011-08-20  
说的明白一些你这个就是sso基于cookie的单点登录一种实现.
说起cookie中的demain,我在nginx搭建的一个域名上面测试过,也不能显示出domain的值.

但是我在初始化cookie的时候还是把cookie全部初始化了的.

相关推荐

    jQuery Cookie (内附 上百行的中文使用手册,与 所有的注释中文翻译)

    4. **问题解决**: 解答了一些常见的错误和陷阱,帮助开发者避免常见问题。 ### 注释中文翻译的价值 源代码中的中文注释使得理解每个函数和逻辑变得更加容易,特别是对于那些不熟悉JavaScript或者英语不是母语的...

    利用Python的requests实现SCU的登录获取Cookie

    在下载验证码图片后,还需要注意到获取验证码时的一个陷阱:请求中包含了随机数以防止缓存,所以我们需要在URL末尾添加一个随机值。 ```python import random captcha_url = soup.find("img", id="captchaImg")['...

    5.2【面试小技巧】大厂面试时怎样才能躲开HR的那些陷阱?小白速进!#资源达人分享计划#资源分享达人.pdf

    很多小伙伴在面试时,看似可以跟 ...其实,在我们面试的时候,面试官随便抛出来的问题,你以为很容易,但可能处处都含有陷阱。而这些陷阱,就隐藏在问题之中。在面试中主要有哪些陷阱,以及我们该如何巧妙地避开它们。

    python 常见的反爬虫策略

    cookie 也可以用来做访问凭证 解决办法:请求头里面添加对应的参数(复制浏览器里面的数据) 2、根据用户行为来进行反爬 请求频率过高,服务器设置规定时间之内的请求阈值 解决办法:降低请求频率或者使用代理(IP...

    Php安全新闻早8点

    - **JavaScript操作Cookie的风险:** 使用JavaScript可以直接修改或获取Cookie的值,这可能会带来安全风险。 - 示例: ```javascript javascript:alert(document.cookie = "login=yes") ``` - **结论:** 在...

    前端安全概览及防范

    - **作为其他攻击的跳板:** XSS可以作为钓鱼攻击、社会工程学等复杂攻击的一部分,引导用户进入更深层次的陷阱。 **案例分析:** Yupoo的XSS漏洞 在Yupoo的案例中,攻击者利用一处XSS漏洞,构造了一个能够读取...

    爬虫守则1

    3. **处理Spider Traps**:爬虫陷阱是指网站设计用来捕获爬虫的机制,如动态URL、无限循环链接等。应对策略包括: - 对于动态URL,可尝试识别并统一处理。 - 遇到循环链接时,设定循环检测阈值,超过阈值则停止...

    gotcha

    原始的陷阱!脚本是彼此之间的基础。它包括许多用途,但最常见的是: -Cookie登录超过10个浏览器和应用程序。 -包括RAT Stub和Gotcha!脚本(实验) -截屏/实时流化摄像机多达4种类型,以及监视器 -修改和扩展/...

    KCon安全大会:黑无止境(2015) - 安全技术资料汇总.zip

    它可能会深入浅出地讲解如何识别和避免常见的安全陷阱,提高用户的安全意识。 2. **Cookie之困.pdf** - Cookie是Web应用中的关键组件,但也是黑客攻击的目标。这份报告可能详细分析了Cookie的安全隐患,如会话劫持...

    Asp.net安全全面解析教程

    理解并避免常见的编程陷阱,如不当的异常处理、未检查的输入和错误的资源管理,都是开发安全软件的关键。ASP.NET MVC框架引入了模型绑定和视图模型,有助于减少输入验证的复杂性。 最后,我们不能忽视部署和运行时...

    基于Python的网络爬虫与反爬虫技术的研究.pdf

    应对这些反爬虫措施,爬虫程序开发者需要采取相应的策略,比如使用代理IP池、设置合理的请求间隔、设置用户代理(User-Agent)、使用cookie池、通过图灵测试解决验证码问题等。 IP地址封锁是网站通过识别重复IP地址...

    最新前端面试题

    4. XSS 和 CSRF 两种跨站攻击的防御方法分别是对用户输入进行转义、不允许 JS 对 cookie 的读写,和使用 cookie 加参数等形式过滤。 5. 事件委托的目的、功能和写法是把一个或者一组元素的事件委托到它的父层或者更...

    FreyaSessionProvider:Freya的会话存储

    我遇到了几个“陷阱” “ s,而且我不想吓off F#新手。 添加到您的项目 到目前为止,RavenDB实现是唯一的一种。 要使用它,只需通过选择的包管理器添加FreyaSessionProvider.RavenDB包即可。 在项目中使用 ...

    php和序设计 不错的学习

    - **Cookie**:理解Cookie的概念,学会如何设置和读取Cookie,实现简单的用户登录状态保存。 #### 四、数据库操作 - **关系型数据库**:介绍如何使用PHP与MySQL或Oracle等关系型数据库进行交互,包括连接数据库、...

    php编程文档

    - **最佳实践**: 如何避免常见的安全陷阱。 **3. 进阶APT(Advanced Persistent Threats)** - **定义**: 高级持续性威胁,指的是一种网络攻击,通常由黑客组织发起,旨在长期潜伏于目标系统内进行信息收集。 - **...

    simple-gdpr-lockdown:您无需因GDPR阻止欧盟的访客。 只是锁定您的网站

    有一个陷阱。赶上又名先决条件此代码通过使用指示访问者是否在欧盟的cookie来起作用。 有几种方法可以完成此操作,对于许多人来说,使用Fastly或Akamai可以在CDN级别轻松地完成此操作。 您还可以在呈现页面之前进行...

    ASP网站实例开发源码——古典风格漂亮实用的茶叶公司网站(源码+数据库).zip

    6. **session和cookie管理**:对于用户登录和购物车功能,可能会用到session和cookie来跟踪用户的会话信息,例如登录状态和购物车内容。 7. **动态内容生成**:ASP允许根据用户请求生成动态内容,例如搜索结果页面...

    网络工具 -浏览辅助 -菠萝净化大师免费下载.zip

    同时,它还能有效阻止潜在的恶意网站,防止用户误入陷阱,确保上网安全。 2. **广告拦截** 广告拦截是菠萝净化大师的主要特色之一。它能够识别和阻止各种形式的在线广告,包括弹窗广告、横幅广告、视频广告等,使...

    JavaScript王者归来part.1 总数2

     2.4 绕开脚本陷阱 2.5 总结   第3章 开发环境和调试方法  3.1 我能用什么来编写脚本--适合编写JavaScript的文本编辑器   3.2 来自浏览器的支持   3.3 集成开发环境   3.4 调试工具--提升开发效率的利器...

Global site tag (gtag.js) - Google Analytics