js cookies all in one

cookies


// http://10.1.5.202/auto-deploy-platform/publish/index.html // 非当前 URL 的 domain / path 下, 创建的 cookie 无法写入到当前的 域名/路径下
// domain 不同,cookie 不能写入
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/; domain=cdn.xgqfrms.xyz;";
// path 不同(Ajax path),cookie 不能写入
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/deployprod/;" // 当前 URL 的 domain & path 下, 创建的 cookie 可以写入到当前的 域名/路径下
// 默认 domain === 当前 URL 的 domain
document.cookie = "token=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/;";
// 当前 URL 的 domain & path 下,cookie 可以写入
document.cookie = "token_path1=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/auto-deploy-platform/;"
// 当前 URL 的 domain & path 下,cookie 可以写入
document.cookie = "token_path2=1234567; Expires=Wed, 21 Oct 2020 07:28:00 GMT; path=/auto-deploy-platform/publish;"



function cookies() {
var D = new Date();
D.setDate(D.getDate() + 30);
document.cookie = "author=xgqfrms; website=www.xgqfrms.xyz; domain=xgqfrms.xyz; secure ;expire=" + D;
/*
// read cookie
var rc = document.cookie.substring(5);
if (rc != "www.xgqfrms.xyz") {
alert("cookie is empty!"+rc);
var D = new Date();
D.setDate(D.getDate()+30);
//write cookie
document.cookie="name=www.xgqfrms.xyz;domain=xgqfrms.xyz;HttpOnly;expire="+D;
}else{
alert("cookie is:"+rc);
}
*/
};
cookies();

view-source:https://www.xgqfrms.xyz/


cookies & url bug / domain bug???

URL 与 请求API 路经不一致,如何写入 cookie 并且请求 API 的时候带上 cookies ?

  1. 正常都是 URL 与 请求API 路经一一对应的
// URL (domain)
https://cdn.xgqfrms.xyz/json // API
https://cdn.xgqfrms.xyz/json/api/data.json

  1. jwt 添加一个 dev / prod 字段

// access_token=eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQWRtaW4iLCJleHBpcmVkIjoxNTM5ODQxMDQ2NjAwLCJ1c2VyX25hbWUiOiJhZG1pbiIsImVtYWlsIjoiaG9uZ2trQGdpbGRhdGEuY29tIn0.o453AHiAlgE90YHiCAOcPDn5__EfhB7ujaGtjx_xfqg"



{
"data": {
"cookies": "jwt_access_token",
"prod": false,
"dev": true
}
}


if(document.cookie !== "" && document.cookie.includes(`access_token`)) {
let token = JSON.parse(decodeURIComponent(atob(document.cookie.replace(`access_token=`, ``).split(`.`)[1])));
// console.log(`token =`, JSON.stringify(token, null, 4));
let {
// role,
user_name,
email
} = token;
sessionStorage.setItem(`email`, email);
layui.use(["element", "layer", "form"], function() {
let element = layui.element,
form = layui.form,
layer = layui.layer;
// layui
showRoleName(user_name);
logoutHandler();
modifyEmail();
modifyPassword();
});
} else {
swal({
title: "未登录用户,无权访问!",
text: `
请先登录后,再访问!\n
1 秒后自动关闭.
`,
icon: "warning",
className: "warning-alert-style",
timer: 2000,
button: {
text: "关闭",
value: true,
visible: true,
closeModal: true
}
});
setTimeout(() => {
autoRedirectToLogin();
}, 1000);
}

js cookies all in one的更多相关文章

  1. js cookies存取删操作实例

    //写cookies函数 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 ...

  2. js cookies的使用及介绍 (非常详细)

    设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie="userId=828";如果要一 ...

  3. js cookies 的写入、读取、删除

    //写cookies //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.function setCookie(name,value) {     var Days ...

  4. js cookies

    cookie用於識別用戶,存儲在訪問者的計算機里,當用戶首次使用瀏覽器時,會發送cookie.用戶可以創建和獲取cookie. cookie可以存儲用戶名字.用戶密碼和訪問時間等. document. ...

  5. 百度静态资源(JS)公共库

         例如: chosen http://apps.bdimg.com/libs/chosen/1.1.0/chosen.jquery.min.js   classlist http://apps ...

  6. js 放置 cookie、获取 cookie、删除 cookie

    这块TM的删不掉 代码如下: // 自定义 js cookies var mycookie = { // 放置 set : function(name,value){ var Days = 1; // ...

  7. req、js

    requests库中,可不写为headers内各键值对的部分参数:   s=requests.Session()  #或.session() s.allow_redirects=False #禁止重定 ...

  8. 第三章、vue-项目前端 - vue配置 | axios配置 | cookies配置 | element-ui配置 | bootstrap配置

    目录 vue项目创建 环境 创建项目 重构项目目录 文件修订:目录中非配置文件的多余文件可以移除 全局配置:全局样式.配置文件 axios前后台交互 cookies操作 element-ui页面组件框 ...

  9. 当页面完全加载完成后执行一个JS函数

    方法1.如下程序,当页面完全加载后执行openTheIndexPage()方法  <html>  <head>  <meta http-equiv="Conte ...

随机推荐

  1. Java setAccessible方法作用

    在Java中可以通过反射进行获取实体类中的字段值,当未设置Field的setAccessible方法为true时,会在调用的时候进行访问安全检查,会抛出IllegalAccessException异常 ...

  2. echarts-gl 3D柱状图保存为图片,打印

    echarts-gl生成的立体柱状图生成图片是平面的,但是需求是3D图并且可以打印,我们的思路是先转成图片,然后再打印,代码如下: 生成3D图 <td>图表分析</td> &l ...

  3. 记一次java应用cpu利用率过高调试经历

    1,现象 写的一个storm应用,主要是通过mysql的binlog来同步表到hbase.运行一段时间后发现,经常会出现cpu使用率飙升到200%以上,然后各种消息堆积报警等等出现各种问题 2,调研过 ...

  4. Scala简单计算实例,其在数据分析方面的优势体会

    程序只是简单的从文件中读取数据,并进行计算. package com.bill.www /** * Created by Bill on 2016/2/3. * 目的:用scala实现简单的数据计算 ...

  5. 一个用pyton写的监控服务端进程的软件hcm

    使用udp实现,简单,方便,不用三次握手 1. 所有部署服务器进程的机器有一个代理进程hagent,用来监听hcm console中发送过来的命令 2.hcm需要提供以下命令 start :普通方式启 ...

  6. Selenium 进行参数化

    Selenium参数化分为大小: 小:list.dict.函数 大:txt.excel.mysql.redis 哪种方式使自己的工作简单高效就选那种!!! Selenium进行参数化有多种形式: 本文 ...

  7. 对比hive和mysql 复杂逻辑流处理

      1.Mysql中可用存储过程和函数来实现复杂逻辑处理,两者的对比如下:存储过程作为可执行文件,编译一次放在数据库中,函数又返回值.可设定使用权限. 存储过程中可使用游标,声明变量.用call调用. ...

  8. (转)WKT转换工具terraformers

    http://blog.csdn.net/gisshixisheng/article/details/53150111 概述: 前面的文章中,提到了Arcgis中实现wkt转换为geometry,但是 ...

  9. 从输入URL到网页呈现的过程

    1.域名解析当我们在浏览器中输入一个URL,例如”www.google.com”时,这个地址并不是谷歌网站真正意义上的地址.互联网上每一台计算机的唯一标识是它的IP地址,因此我们输入的网址首先需要先解 ...

  10. nz-card头部右侧添加东西

    <nz-card [nzBordered]="true" nzTitle="卡片标题" [nzExtra]="extraTemplate1&qu ...