精华内容
下载资源
问答
  • 本文实例讲述了jQuery控制cookie过期时间的方法。分享给大家供大家参考。具体分析如下: jquery.cookie()方法可以设置cookie,默认条件下是浏览器关闭cookie即失效,用下面方法可以解决这个问题 [removed] var ...
  • 主要介绍了网页爬虫之cookie自动获取及过期自动更新的实现方法,需要的朋友可以参考下
  • 本文是对jquery 强制cookie失效的解决方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
  • 在一个登录的servlet中,设置cookie,过期时间为1个星期 !... !...然后到登出的servlet,设置cookie.sexMaxAge(0),然后重定向(转发也试过)回首页,我用的是firefox,在这过程开着firebug...为什么不能使cookie过期呢?
  • 当用户长时间停留在管理界面没有操作,等到session过期后,进行了操作,那么只是iframe跳转到login页面,这不是我们想要的结果。解决方法:在login页面加一个逻辑判断: $(document).ready(function () {  if ...

    原文链接:https://blog.csdn.net/ace_place/article/details/53053282

    当用户长时间停留在管理界面没有操作,等到session过期后,进行了操作,那么只是iframe跳转到login页面,这不是我们想要的结果。解决方法:在login页面加一个逻辑判断:

    $(document).ready(function () {  
        if (window != top) {  
            top.location.href = location.href;  
        }  
    }); 

    展开全文
  • 关于cookie设置过期无效的问题: 经过cookie.getMaxAge()获取的值,显示出来永远是-1. 但实际的值并不是-1; 可以通过关闭浏览器测试,cookie还在; 或者设置cookie时间为10,等10秒时间之后,cookie会被删除; ...

    关于cookie设置过期无效的问题:

         经过cookie.getMaxAge()获取的值,显示出来永远是-1. 但实际的值并不是-1; 可以通过关闭浏览器测试,cookie还在; 或者设置cookie时间为10,等10秒时间之后,cookie会被删除;
         并不是网上说的要设置 path, domin; 你只要知道:你设置的是对的,不过除了key-value,其余的参数都不可读就行;


    cookie的基础知识

        /**
         *  cookie 是服务器 存储数据到 浏览器 的一种技术,用于跟踪客户状态。比如证明客户身份: 是否是第一次访问,是否已经登录等
         * 
         *  cookie流程:
         *     1.客户端首次访问服务器,服务端会现在客户端存留该客户的相关信息的cookie;
         *     2.以后客户每次访问服务器时,都会在HTTP请求中包含cookie数据,服务器解析cookie,就能得到客户的信息;
         *  
         *  cookie操作:   
         *     服务器
         *            1.在HTTP响应结果中添加Cookie数据。
         *                  Cookie theCookie = new Cookie("username","Tom");
         *                  response.addCoolie( theCookie );
         *        2.解析HTTP请求中的Cookie数据。
         *              Cookie cookies[] = response.getCookies();
         *              for( int i=0; i<cookies.length; i++ ){
         *                  out.println("Cookie key: "+cookie[i].getName() );
         *                  out.println("Cookie value: "+cookie[i].getValue() );
         *              }
         *        
         *     浏览器(自动操作)
         *        1.如果响应体中携带cookies,那么解析HTTP响应结果中的Cookie数据,并存到本地磁盘。
         *        2.如果本地磁盘中存有cookies,将cookie中保存的数据全部读取并添加到HTTP请求中。
         *        
         *   cookie有效期设置
         *      Servlet可以通过Cookie类的getMaxAge()方法获取Cookie的有效期;
         *      Servlet可以通过设置Cookie类的setMaxAge( int expiry );   
         *      
         *      //expiry默认值为 -1;
         *      1.如果expiry大于0,则保存有效期为expire时间长度,单位毫秒;
         *      2.如果expiry等于0,则指示浏览器删除当前cookie;
         *      3.如果expiry小于0,则指示浏览器不保存该cookie到硬盘,就保存在内存中,浏览器关闭就消失;  
         *      
         *   关于Cookie是否是同一条判断标准
         *      可以理解为: 如果存在同一个key,那么后一条覆盖前一条; value被覆盖,保存方式以及过期时间也被覆盖;   
         * */
    


    cookie案例代码

        代码:
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            //获取HTTP请求中的所有cookies
            Cookie cookies[] = request.getCookies();
            if( cookies == null ) {
    
                out.println("首次访问,没有cookie");
            }else {
                for( int i=0; i<cookies.length; i++ ) {
    
                    Cookie cookie = cookies[i];
                    out.println( "<br>Cookie name:"+cookie.getName() );
                    out.println( "<br>Cookie value:"+cookie.getValue() );
                    out.println( "<br>Max Age: "+cookie.getMaxAge()+"<br>" );
                    //修改cookie
                    if( cookie.getValue().equals("cookieValue2") ) {
                        cookie.setValue("cookieValue-1");
                    }
                    //删除cookie
                    if( cookie.getValue().equals("cookieValue4") ) {
    
                        //cookie.setPath("/");//设置成跟写入cookies一样的
                        cookie.setMaxAge(0);    
                    }
                    //cookie.setMaxAge();
                    //cookie.setPath(request.getContextPath());
                    //response.addCookie(cookie);
                }
                out.println("第"+count+"访问");
            }
    
            //向浏览器端编写一个cookie
            Cookie cookie = new Cookie( "cookieName"+count,"cookieValue"+count );
            //cookie.setPath(request.getContextPath());
            cookie.setMaxAge(10);
            response.addCookie(cookie);
    
            count++;
            out.println(count);
            //out.println(request.getContextPath()+"/");
        }

    Domain, Path的设置
        cookie读取与设置的基本原理:
            1. 先匹配 响应头中的设置的 domain, 一般就是域名
            2. 在匹配 path,默认为 “/应用名字/”

           1) 同一个tomcat下多个webapp共享cookie:
               此时:默认的Domain是一样的,所以不需要设置; path不一样,那么就强制设置为同一个path即可,那么久都能访问到指定的Cookie了。
            2)不同服务器下的webapp共享cookie:
              则强制指定domin路径;

    —————– 已完成,暂无更新 ———————

    展开全文
  • 代理开启后,浏览器不提示跨域了,验证码登录一直提示验证码过期或者已失效 发现后端返回的头文件中 set-cookie 的 domian与请求的地址不一致 所以 cookie 并没有写入 浏览器 解决方案 在 proxy 配置中加 重写domain ...

    1.在开发过程中跨域是常见的
    接口跨域浏览器会报错,
    cookie跨域则不会

    我是利用webpack的 proxy 进行代理
    代理开启后,浏览器不提示跨域了,验证码登录一直提示验证码过期或者已失效
    发现后端返回的头文件中 set-cookie 的 domian与请求的地址不一致
    所以 cookie 并没有写入 浏览器
    解决方案
    在 proxy 配置中加 重写domain

      cookieDomainRewrite: {'*': 'localhost'},
    
    展开全文
  • pc 端的项目,有一个步骤可以在手机上操作,页面都在同一个域名下面,但是pc端需要登录(用到了 cookie ),公众号端不需要登录,不用 cookie ,不清楚后台怎么处理的,只知道这时候如果还携带 cookie 后台总是报错,...

    公司有个项目,需求是这样的:
    pc 端的项目,有一个步骤可以在手机上操作,页面都在同一个域名下面,但是pc端需要登录(用到了 cookie ),公众号端不需要登录(不用 cookie ) ,不清楚服务端怎么处理的,只知道这时候如果还携带 cookie 服务端会提示一个什么东西(不是重点),前台需要在进去操作的时候先将 cookie 清除掉。

    至于这个 cookie 怎么来的,那就有的说道了,将 pc 的地址直接用微信访问,然后登录上去(记录了 cookie ),然后关闭(不是退出,是直接关闭, cookie 没清除),这时候再用公众号访问那其中的一个专门给公众号准备的页面,和 pc 的地址在同一个域名下边,进行操作的时候 cookie 就存在了

    解决方案就是公众号端在进行操作的时候,先删除 cookie (设置过期时间 -1),再进行操作,正常来讲,后端应该是收不到 cookie 了,因为 cookie 都过期了,不存在了,但是后端还是能收到 cookie 这就显得稍微的诡异了一点

    cookie 是封装好的,先上一份通过测试之后的正确代码,有兴趣的可以往下看看有问题的代码

    const setCookie = (name, value, expire = 60*60*24, domain=null) => {
      domain || (domain = window.location.host);
    	let date = new Date();
    	date.setSeconds(date.getSeconds() + expire);
    	document.cookie = name + " = " + escape(value) + "; expires=" + date.toGMTString()+"; dommain=" + domain + "; path=/";
    };
    //读取cookie
    const getCookie = (name) => {
    	var arr;
    	const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    	arr = document.cookie.match(reg);
    	if (arr) {
    		return unescape(arr[2]);
    	} else {
    		return null;
    	}
    };
    //读取cookie
    const readCookie = (name) => {
      let arr = null
      let reg = new RegExp('(^| )'+name+'=([^;]*)(;|$)')
      if (document.cookie && (arr = document.cookie.match(reg))) {
    	return unescape(arr[2])
      } else {
    	return null;
      }
    }
    
    const delCookie = (name, domain=null) => {
      domain || (domain = window.location.host);
    	let exp = new Date();
    	exp.setTime(exp.getTime() - 1);
    	let cval = getCookie(name);
    	if (cval != null) {
    		document.cookie = name + " = " + cval + "; expires=" + exp.toGMTString()+"; dommain=" + domain + "; path=/";
    	}
    };
    //清除所有cookie
    const clearAllCookie = (domain=null)=>{
      domain || (domain = window.location.host);
    	let date = new Date();
    	date.setTime(date.getTime() - 1);
    	let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    	if(keys){
    		for(let i=keys.length;i--;){
    			document.cookie = keys[i] + ` = 0; expires=${date.toGMTString()}; dommain=${domain}; path=/`;
    		}
    	}
    }
    export default {
    	setCookie,
    	getCookie,
    	readCookie,
    	delCookie,
    	clearAllCookie
    };
    

    各位小伙伴支持一下博主吧,花呗都还不起了 555!!!

    1:打开支付宝扫一扫,扫码领红包
    2:领多少红包直接扫码支付输入多少就行,最后是0.00,小编不要多余的一分钱 (ø_ø)
    (*  ̄3)(ε ̄ *)

    下边是造成 cookie 诡异的代码:
    可以看到,也就是 domain 和 path 没携带上,可能是 微信浏览器 这边要求比较的严格吧,但是这一份代码放 pc 端是没问题的

    const setCookie = (name, value, expire) => {
    	let date = new Date();
    	date.setSeconds(date.getSeconds() + expire);
    	document.cookie = name + " = " + escape(value) + "; expires=" + date.toGMTString();
    };
    
    const getCookie = (name) => {
    	var arr;
    	const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    	arr = document.cookie.match(reg);
    	if (arr) {
    		return unescape(arr[2]);
    	} else {
    		return null;
    	}
    };
    //读取cookies 
    const readCookie = (name) => {
      let arr = null
      let reg = new RegExp('(^| )'+name+'=([^;]*)(;|$)')
      if (document.cookie && (arr = document.cookie.match(reg))) {
    	return unescape(arr[2])
      } else {
    	return null;
      } 
    }
    
    const delCookie = (name) => {
    	let exp = new Date();
    	exp.setTime(exp.getTime() - 1);
    	let cval = getCookie(name);
    	if (cval != null) {
    		document.cookie = name + " = " + cval + "; expires=" + exp.toGMTString();
    	}
    };
    //清除所有cookie
    const clearAllCookie = ()=>{
    	let date = new Date();
    	date.setTime(date.getTime() - 10000);
    	document.write(document.cookie);
    	let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    	if(keys){
    		for(let i=keys.length;i--;){
    			document.cookie = keys[i] + `=0; expires=${date.toGMTString()};PATH=/`;
    		}
    	}
    }
    export default {
    	setCookie,
    	getCookie,
    	readCookie,
    	delCookie,
    	clearAllCookie
    };
    
    
    展开全文
  • NULL 博文链接:https://gcgmh.iteye.com/blog/510887
  • 网站的cookie过期后会导致登录状态变成未登录状态 需要在cookie过期后在页面中弹出一个提醒框,提醒用户登录状态已过期,重新登录 用js该怎么做好
  • cookie生命周期expires 时间过期,但是cookie没有被浏览器清理的问题 今天用nodejs起了一个web服务,使用art-template模板引擎渲染出来的页面,在这里我设置了一个cookie,设置失效时间为 10秒后代码如下: var ...
  • 在爬虫的过程中,会面临cookie失效的问题,当然不能每次手动去复制粘贴,所以就需要自动解决 cookie可能还会遇到反重的手段,进行了js加密,该如何处理 https://www.bilibili.com/video/BV1y4411w7DX?p=13 中13节,...
  • function ClearCookie() {  var expires = new Date();  expires.setTime(expires.getTime() - 1000); //当前时间减去一秒,相当于立即过期(可以增减)  document.cookie = "appCode
  • jquery.cookie()方法可以设置cookie,默认条件下是浏览器关闭cookie即失效,用下面方法可以解决这个问题: &lt;script type="text/javascript"&gt;   var expiresDate= ...
  • 主要介绍了前后端分离 vue+springboot 跨域 session+cookie失效问题的解决方法,解决过程也很简单 ,需要的朋友可以参考下
  • jquery.cookie()方法可以设置cookie,默认条件下是浏览器关闭cookie即失效,用下面方法可以解决这个问题 var expiresDate= new Date(); expiresDate.setTime(expire.getTime() + (? * 60 * 1000)); //?替换成分钟...
  • 在token拦截器中,处理非法 (包含过期)token 的方法无非就是两种,一种是直接 return false,另一种是 throws Exception。如果是使用 throws Exception ,那么直接 http status code 就是500,在前端也很好捕捉。...
  • 1、引入js-cookie.js 1.直接饮用cdn:<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script> 2.本地下载下来后:<script src="/path/to/js.cookie.js"></...
  • 自己使用客户对应的浏览器版本测试了一下,没发现问题,不知问题出自何处,就把把这个问题转给了汪潇,小伙经过代码分析找不到问题,遂和用户qq远程,通过fiddler发现,360浏览器下用户登录的Cookie过期时间 19-...
  • 淘宝Cookie
  • 代码如下:function SetCookie(name, value) { var ... //3天过期 [removed] = name + “=” + escape(value) + “;expires=” + exp.toGMTString(); return true; };  function getCookie(name) { var arr = doc
  • cookie就是为了解决这个问题 cookie存在浏览器中的,相对于是浏览器的 打开浏览器会发给服务器 session存在服务器中,产生一个唯一的session_id 服务器将session_id和敏感信息做一个映射存储在session(服务器)中,...
  • 网络请求时关于cookie或token失效的解决方案
  • nuxt axios请求数据带cookie解决方法

    千次阅读 2019-10-12 17:08:49
    最近在用nuxt写一个项目,遇到了登录后,请求后台接口的时候,需要带上登录的cookie信息问题。 axios默认是不带cookie的,可以通过修改设置,让请求的时候把cookie带上。 在公共的js文件里,添加下面两句话: import...
  • 解决方法 工具-选项-隐私 历史记录设置成记录历史记录 测试cookie <!DOCTYPE html>  ; charset=utf-8" />  <title></title>      读取cookie" ...
  • 最近的项目中用到angularjs,因为很多不熟悉,用起来有点困难。...angular-cookies.min.js对于初学者或者初次用angularjs的人来说,是非常好的一个插件,它里面封装了存cookie、读取cookie、删除cookie的方法,这几
  • 在学习Cookie的过程中发现Cookie设置过期时间后,过了设定时间Cookie并不会自动删除,重启浏览器甚至是重启电脑后重新打开网页还是不会自动删除,在百度等其他网站控制台设置也一样结果.对此现象我展开了深入分析.首先...
  • Jmeter 解决请求服务端接口cookie问题

    千次阅读 2019-08-02 14:08:58
    然后就抓cookie,维护cookiecookie管理器。安装插件,利用插件导出cookie在jmeter中导入等。都可以来实现。下图为请求后台地址时,没有cookie的时候,重定向到了登录URL。 那除了使用cookie管理器还有没有...
  • cookie失效后提示用户重新登录

    千次阅读 2019-08-13 17:01:15
    cookie失效后提示用户重新登录 setInterval(function(){ var cok=document.cookie; if( cok==undefined || cok == ""){ alert("身份失效,请重新登录!"); window.open('../login.html'); } }) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,441
精华内容 18,976
关键字:

cookie过期怎么解决