【建站系列教程】3.1、cookie介绍

  • cookie的应用场景
    • 1 小说网站的字体、颜色、背景颜色设置
    • 2 隐藏url里面的参数
  • cookie的通俗介绍
  • cookie的基本用法
    • js版本
    • jQuery版本
  • 利用cookie解决博客开头的两个应用场景
    • 1 小说网站的字体、颜色、背景颜色设置
    • 2 隐藏url里面的参数

写在前面:大家好,我是热爱编程的小泽
【建站系列教程】是我的亲身建站经历写给广大建站同胞们的教学博客。
喜欢的话点个赞吧~ 评论区欢迎交流讨论~

cookie是站长必会的一个知识,它在本地设置、用户会话、用户标识等等方面都有作用。我们先上几个应用场景。

cookie的应用场景

1 小说网站的字体、颜色、背景颜色设置

我们知道,网页每次刷新都会重新显示一次文件。如果你正在某个小说网站阅读小说,页面的背景颜色默认是白色,你把它改成米黄色之后,每次刷新仍然变成白色。这样是不是很苦恼?每次刷新都要设置一下。
  所以,客户就提出一个需求:解决每次刷新之后,页面的初始颜色都变成我设置的颜色,而不是默认色。甚至,当我7天之后再打开这个网站,仍然是我设置的颜色。

cookie能实现。

2 隐藏url里面的参数

一般情况下,在登录页面登录进入主页后,url是这样:http://localhost/index.php?id=123456&pw=123456 但是这样很不安全啊,参数别人直接可以看到,所以就提出第二种解决方法。
  我们把id和pw的值放在一起加密传输,然后在服务器端解密,url是这样:http://localhost/index.php?infor=awelivbu123457khbv 这样稍微有点用了,但是只要是能解密的明文,别人一定能破解。
  所以又提出了一个需求,我想让url里面不显示参数。url这样:http://localhost/index.php 那那些参数如何保存与传递呢?

cookie能实现。

cookie的通俗介绍

Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。
  Cookie 主要用于以下三个方面:
  1、会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
  2、个性化设置(如用户自定义设置、主题等)
  3、浏览器行为跟踪(如跟踪分析用户行为等)


【注】:

  1. cookie保存在用户的浏览器中。服务器端可以设置有效时间,超过时间即失效。
  2. cookie在浏览器中的保存,是针对网站级别的。也就是,你在http://localhost/下不管哪个页面设置的cookie,都保存在localhost下。即以站点为单位保存。
  3. 如何查看浏览器中的cookie?以我的qq浏览器举例。F12进入开发者工具–>Application–>cookie。如图,是我csdn的截图。

cookie的基本用法

js版本

基本满足需要

function setCookie(key, value, iDay) {var oDate = new Date();oDate.setDate(oDate.getDate() + iDay);document.cookie = key + '=' + value + ';expires=' + oDate;}
function removeCookie(key) {setCookie(key, '', -1);//这里只需要把Cookie保质期退回一天便可以删除
}
function getCookie(key) {var cookieArr = document.cookie.split('; ');for(var i = 0; i < cookieArr.length; i++) {var arr = cookieArr[i].split('=');if(arr[0] === key) {return arr[1];}}return false;
}

jQuery版本

jQuery也封装了自己的jquery.cookie.min.js文件,需求少的话,建议用以上js版本,代码比较少。

利用cookie解决博客开头的两个应用场景

1 小说网站的字体、颜色、背景颜色设置

解决逻辑:
1、刚开始,网站没有cookie。刷新后,先检测有无cookie,有cookie,则按照cookie的值去设置页面的css;无cookie,则页面的字体等等都是默认。
2、每次当用户改变字体、颜色等等,都去更新一下cookie。

2 隐藏url里面的参数

解决逻辑:
把用户id和id与密码的MD5加密存入cookie中,每次用户执行有关数据库的操作时,验证用户的token是否正确。

【建站系列教程】3.1、cookie介绍相关推荐

  1. 【建站系列教程】3、建站基本技术介绍

    [建站系列教程]3.写网页基本技术介绍 摘要 html.css.js jQuery ui框架 bootstrap jQuery-ui vue的ui 后端 采用ajax 或者 php cookie也可以 ...

  2. 【建站系列教程】2.3、分享一些小说的api接口

    [建站系列教程]2.3.分享一些小说的api接口 一.追书神器api 二.资源二api 三.宜搜api 四.结语 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站 ...

  3. 【建站系列教程】7、SEO优化之meta标签【最后一篇】

    [建站系列教程]7.SEO优化之meta标签[进阶] 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站同胞们的教学博客. 喜欢的话点个赞吧~ 评论区欢迎交流讨论~ ...

  4. 【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化

    [建站系列教程]6..htaccess文件的url重写规则-网页伪静态化 如何创建.htaccess文件? .htaccess是什么 htaccess语法教程 写在前面:大家好,我是热爱编程的小泽. ...

  5. 【建站系列教程】5、谈一谈网站的静态化

    [建站系列教程]5.谈一谈网站的静态化[进阶] 动态页面?静态页面?伪静态页面? 三个页面有何优缺点? 为什么要让网页静态化 如何网页伪静态化? 写在前面:大家好,我是热爱编程的小泽. [建站系列教程 ...

  6. 【建站系列教程】4、还不知道SEO你就OUT了

    [建站系列教程]4.还不知道SEO你就OUT了[进阶] SEO的使用背景 SEO到底是什么?SEO会对网站做哪些操作? 对于程序员来说,代码优化方向的SEO能做哪些? 最后,我们才说SEO的原理 写在 ...

  7. 【建站系列教程】3.2、ajax使用精讲

    [建站系列教程]3.2.ajax介绍 ajax的应用场景 1.form表单实现无跳转提交 2.ajax局部刷新代替刷新网页 ajax的通俗介绍 ajax的基本用法 ajax的ES写法 写在前面:大家好 ...

  8. 【建站系列教程】2、数据源

    [建站系列教程]2.数据源 (全网最良心.实用教程) 网站主题 数据源 数据来源于数据库 数据来源于api接口 数据来源于python爬虫 总结 写在前面:大家好,我是热爱编程的小泽. [建站系列教程 ...

  9. 【建站系列教程】1、前言

    [建站系列教程]1.前言 我做网站的原因 个人网站的盈利模式 需要的技能图谱 建站教程!! 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站同胞们的教学博客. 喜 ...

最新文章

  1. 面试大法——算法、Python、机器学习等笔试面经资源|干货收藏
  2. 阿里云数据库专家白宸:Redis带你尽享丝滑!(图灵访谈)
  3. SAP SD基础知识之输出控制(Output Control)
  4. 6大奖项!首届 .NET 黑客松大赛圆满收官!
  5. oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配
  6. 领域建模——架构设计的第一步(下)
  7. makefile工作笔记0002---gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化
  8. windows 软件推荐
  9. 24. 使用GitHub
  10. linux python tab补全_Linux设置python自动tab自动补全
  11. [地图代数]处理DEM中的高程异常值——ArcGIS栅格计算的应用
  12. 【强化学习】 Nature DQN算法与莫烦代码重现(tensorflow)
  13. 公司内部Wiki及搭建wiki系统-confluence
  14. MSP430单片机,大学的回忆
  15. 具有聚集诱导发射(AIE)特性的新型TADF分子SBF-BP-DMAC的定制合成
  16. 服务器和交换机物理连接_「网络安全」网络设备篇(6)——四层交换机
  17. XDUOJ题解合集(待填坑)
  18. OpenCV:字符分割——方向投影法
  19. 【GTASA】如何解锁Locked的DFF模型
  20. Odoo中使用的数据关系

热门文章

  1. Spring整合rabbitmq---消息接收
  2. ajax提交数据到后台php接收
  3. 一个有意思的逻辑训练题目
  4. News | 经有限数据研究显示瑞德西韦有望治疗冠状病毒患者
  5. c++输出方块_C/C++编程笔记:DFS 深度优先搜索的基本思想,含实例讲解
  6. 研究生如何走出“迷茫”?
  7. 中科院微生物所王军课题组建立靶向RNA的病原检测新方法mtNGS和mtTGS
  8. Science子刊:植物所杨元合组揭示矿物保护和微生物属性对冻土碳动态的关键调控作用...
  9. 微生物组数据库(http://egcloud.cib.cn)正式上线
  10. 终极大招——怎么在学术会议上有所收获?