`

让cookie失效要注意的问题

阅读更多

让cookie失效要注意的问题

下面的代码无法让cookie 失效,



 

因为保存的cookie 设置了path,

失效时没有设置path, 所以无法cookie 失效,

注意:想让cookie 失效,除了设置有效期为0,其他参数(path,domain)必须完全一样,

正确的:



 

/***
	 * 是否保存cookie
	 * @param response
	 * @param emaiCookieName
	 * @param cookieValue
	 * @param isSave : 是否保存用户名(记住用户名)
	 * @return
	 */
	public static Cookie rememberMe(Cookie[] cookies , /*HttpServletRequest request,*/HttpServletResponse response,String emaiCookieName, String cookieValue,
			boolean isSave) {
//		HttpServletRequest request = ServletActionContext.getRequest();

		boolean flag = false;
		// Cookie passwordCook = null;
		Cookie emailCook = null;
		if (cookies != null) {
			System.out.println("cookie 不为空");
			for (Cookie c : cookies) {
				// if (passwordCookieName.equals(c.getName()))
				// {
				// c.setValue(URLEncoder.encode(password, "utf-8"));
				// passwordCook = c;
				// flag = true;
				// continue;
				// }
//				if(c.getName().equals(Constant2.COOKIE_KEY_ISAUTO_LOGIN )){
//					System.out.println(Constant2.COOKIE_KEY_ISAUTO_LOGIN+":"+cookieValue);
//				}
				if (emaiCookieName.equals(c.getName()) ) {
					System.out.println("找到了 " + emaiCookieName);
					System.out.println("cookie的值为 " + c.getValue());
					if((! ValueWidget.isNullOrEmpty(cookieValue))){
					try {
						c.setValue(URLEncoder.encode(cookieValue, "utf-8"));
					} catch (UnsupportedEncodingException e) {
						e.printStackTrace();
					}
					}
					emailCook = c;
					flag = true;
					break;
				}
			}

		}

//		HttpServletResponse response = ServletActionContext.getResponse();
		if (isSave) {
			if (!flag) {
				System.out.println("没有找到 " + emaiCookieName);
				// passwordCook = new Cookie(passwordCookieName, URLEncoder
				// .encode(password, "utf-8"));
				try {
					emailCook = new Cookie(emaiCookieName, URLEncoder.encode(
							cookieValue, "utf-8"));
				} catch (UnsupportedEncodingException e) {
					e.printStackTrace();
				}
			}
			emailCook.setMaxAge(10000000);//单位是秒,所以大概115 天
            emailCook.setPath("/");//设置cookie时,设置path为根路径
            response.addCookie(emailCook);
			flag=true;
			System.out.println("保存cookie:"+emailCook.getValue());
		} else {
			if (flag) {
				System.out.println("让 cookie 失效");
				emailCook.setMaxAge(0);
                emailCook.setPath("/");//设置cookie时,设置path为根路径 ,如果不设置path ,则无法让cookie 失效
                response.addCookie(emailCook);
			}
		}


		return emailCook;
	}

 

参考:

http://hw1287789687.iteye.com/blog/2050040

  • 大小: 222.3 KB
  • 大小: 138.9 KB
0
0
分享到:
评论

相关推荐

    PHP Cookei记录用户历史浏览信息的代码

    重新设置Cookie需要使之前的Cookie失效,删除Cookie也是同样的方法: setcookie(‘RecordLuHuiDUDU’,”,time()-3600*24*30); 【代码示例】 /** * 将用品id存入Cookie中 * * @param $id * @return

    nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip

    [expires=1h] 设置cookie的生存期,默认不设置,浏览器关闭即失效,需要是大于1秒的值 [hash=index|md5|sha1] 设置cookie中服务器的标识是用明文还是使用md5值,默认使用md5 [no_fallback] 设置该项,当sticky的后端...

    MF00617-JAVA餐厅点餐管理源码.zip

    注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : JAVA 数据库 : MySQL 开发工具 : Eclipse 源码类型 : WebForm 运行环境:jdk7+tomcat8+mysql+myeclipse 使用技术:spring+Struts+...

    亿寻-百度网盘链接下载.zip

    若要继续下载,只需再次下载该文件。 当程序显示“需要注意”时,如果速度很慢,应停止使用该帐号继续下载。休息一天或换个号 登录下载无法避免被限,每天可能10g左右流量限制。 config 文件夹里的 ...

    WebViewLocalStorage:一个演示如何使用localStorage和`WKWebView`s的小项目

    WebViewLocalStorage 一个演示如何使用localStorage和WKWebView的小项目。 一些注意事项: 该应用程序使用跨组共享的...注意您还需要确保在Cookie上设置了失效日期,否则它们将仅被视为会话Cookie,并在应用

    会话管理器「session manager」-crx插件

    2. 我们点击右上角的 "清除当前页面所有cookie" 按钮, 清空 cookie, 注意: 不要点击退出, 否则之前保存的 session(php、java这些的session) 会失效 3. 这时候再刷新, 会提示登陆, 再次登陆(使用不同账号), 并且输入...

    ASP.NET LayUI权限管理系统源码

    1、前后端分离(没有session和cookie,只有token),方便微信,APP端等二次开发。每个角色可以控制在多个模块或者混合模块(如XX模块的新增,OO模块的更新) 2、预览地址:http://121.42.8.166:8888 二、功能特点 ...

    EzDict.NET 易典 免费在线辞典

     造成查询速度慢的原因可能是因为您第一次使用,或者长时间未访问本站,缓存失效造成。后续查询一般会比第一次查询要快。  另外查询包括多个辞典,而且有些单词解释文本很长,牛津和牛津高阶都是大部头的辞典,会...

    精易模块5.7易语言源码

    3、修复“类_托盘->置图标数据”后,气球提示失效的问题,感谢易友【@﹃路ゝ沉默】反馈。 4、修复“文本_寻找出文本并删除”命令中备注的错误以及当没有找到对应文本时的返回值。感谢易友【@小爬虫】反馈。 5、修复...

    使用django开发微信小程序后端

    微信小程序的后端开发和普通的restful API 大致上相同,只不过要注意以下几点限制 必须使用HTTPS协议请求后端服务器 不支持COOKIE 不支持django内置的user登录, 因为它使用的是微信的用户系统 应对方法 对于HTTPS的...

    多多返利 补丁DD8.1-130820-13年08月20日

    修正淘宝联盟cookie验证算法(在线获取淘宝联盟订单插件用) 修复更新百宝箱订单显示更新代码 优化淘宝mini订单号统计方式 优化个别主机调用淘宝数据为空的问题 优化360网站漏洞检测的防护 优化会员删除站内信代码 ...

    精易模块[源码] V5.15

    4、修正“IP_10进制转IP”与“IP_16进制转IP”命令反向的问题,感谢易友[@humanbean ]反馈。 5、改善“网页_访问”死循环代码,感谢易友[@67564226]反馈。 6、优化“文本_取随机数字”精简代码,提高执行效率,感谢...

    jdaction:京东脚本

    2.1 JD账户cooke,必填,一行一个(注:获取后不要退出登录账号,退出时cookie即时失效,获取后注意删除中间空格) Name:JD_COOKIE Value:京东cookie值 2.2 server酱消息推送,非必填 Name:PUSH_KEY Value

    dasao2

    自己仓库的设置-机密-新存储库的机密添加三个机密2.1 JD帐户cooke,必填,一行一个(注:获取后不要退出登录账号,退出时Cookie立即失效,获取后注意删除中间空格) 名称:JD_COOKIE 值:京东cookie值2.2服务器酱...

    Watermelon BETA-crx插件

    使用的Cookie仅访问有关您使用西瓜的信息,并且在您关闭浏览器时失效。 通过安装西瓜,您表示同意将Cookie用作这些用途。 隐私:我们能够访问的信息与您对西瓜的使用有关。 它确实包含您使用西瓜时所访问网站的网址...

    淘客帝国v5.12完美破解版

    请及时注意官方最新更新包 5.12 稳定版 本版本主要修复一些5.11发现的问题。 模板:在新商城模板基础上,修改图片尺寸,修改首页样式,单独作为两套附加模板发布,以适合不同口味的用户。在模板帖子里可以下载。 ...

    多线程、高性能采集器爬虫.net版源码,可采ajax页面

    2)断点续采模式,及数据实时存储保护用户采集投资,注意:此模式仅限于非大数据量的采集; 3)支持大数据量采集,即实时采集实时入库,不会对系统性能造成任何影响; 4)提供强大的数据加工操作,并可配置多条...

    zfb转账订单号cha询验证系统,使用Fiddler实现-易语言

    注意: 推荐使用360、搜狗、谷歌等高速内核浏览器,这样cookie比较稳定。 (有的浏览器就算开了IE代理也会不使用IE代理,如果没开的话也会拦截不到cookie的哦~) 环境需求:需要.net4框架,一般WIN7以上系统都自带...

    易语言-精易模块V5.7

    3、修复“类_托盘->置图标数据”后,气球提示失效的问题,感谢易友【@﹃路ゝ沉默】反馈。 4、修复“文本_寻找出文本并删除”命令中备注的错误以及当没有找到对应文本时的返回值。感谢易友【@小爬虫】反馈。 5、修复...

    JavaScript笔记

    注意:js中的方法可以直接写在代码中,不需要“类”包裹 使用方法:方法名()-->方法调用-->立即执行 2.js文件:网页外专门保存js脚本的文件--推荐 强调:HTML、CSS、JS都要使用UTF-8编码保存(window系统) ...

Global site tag (gtag.js) - Google Analytics