调侃Cookie
近期看着某些小朋友那琢急的学习心态,瞬间发文一篇,谨此以助小朋友早日有成!
闲话不扯远,实话见真言,晃悠许久觉得开头还是谈谈Cookie这只菜篮,而且是一只私家菜篮,为啥说它是一只菜篮呢,各位看官必定见过菜篮,不过如果是高富帅,或是白富美,那就还得劳驾您去百度图库搜张图喵上一眼。在菜市场一眼望去,除了大妈的吆喝声,那最显眼的就是大妈手中的菜蓝,菜蓝里五花八门什么都有。
言归正转,cookie 在asp.net这个菜市场里,充其量也就是一只菜蓝,现在各位看观也就是拎菜蓝的大妈,真没说各位看观都是大妈,只是形容,纯属比喻。我们浏览的打开的很多网站都会把一些基本信息放在我们的浏览器的Cookie当中也就是我刚说的菜蓝。
客位客观可能也会问,是怎样生成的?到底cookie在哪里呀?cookie 在.net 下可以在客户端用JS创建,也可以在页面下用.net 创建,用respone输送到前台。大家可以查看一下浏览中的存的Cookie (怎么查,本文不述,看观自问度娘),咋一看网站存这些乱七八糟的是什么玩意呀,堪比火星文(别紧张一般是加密的),回到大妈来,大妈去菜市场买菜肯定都是一些重要的食材,用来做美味的,那我们ASP.NET 中菜蓝(cookie)也不可能一直是装素的吧。cookie里装的也有鸡肋的,比如用户登录的一些帐户信息,登录验证码和一些密钥。。。很多网站没有咱cookie这菜蓝早就over了。
看到了鸡肋是否有点心动,看观别急,你的鸡肋别人可是不是这么轻易拿的。就好比大妈的菜篮是大妈的,里面的菜别的大妈可不是轻易能动的哦,拿了大妈会怒的,这是人家的私房菜.我们的cookie也是这样的,别的网站的cookie也不是轻易能访问得到我们的cookie,因为有一个跨域的问题,就像我们刚说的一样这个大妈不可能轻易的去拿别一个大妈菜蓝子里面的菜。好了,峰回路转,刚说到一个网站的Cookie不是那么轻易的访问另一个网站的Cookie,即然是不轻易,看观肯定还是能看出些端倪的。大妈要想去拿另一个大妈菜蓝里面的菜,首要必须要满足以下几个条件:1、两个大妈是一家的。2、两个大妈是熟人 。除了以上两个条件,比较合法成立的外,各位看客想出来的,就自已在心里偷笑会吧。
各位看观请换回频道来,我们的cookie也是这样的,也需要满足以下几个条件的:1、同一个公司同一个域名的站点。2、公司的合作伙伴许可。除了以上两个条件比较合法成立的外,各位看客想出来的,就也再次自已在心里偷笑会吧。因些我们的cookie提供了跨域功能,只需设置cookie的domain为同一域名就可以,比如把domain都设成xxx.com就可以两个站点相互访问了。刚只是说了其中的一种,还有一种就是通过iframe钳套,在一个网页中钳入一个iframe实现cookie访问。这下大妈间就能谈笑互换菜蓝子里的菜了。
是否感觉大妈间只要关系好,就能随意拿菜蓝子里的菜了,这也不一定,大妈可不是那么傻的人,大妈都是人精的,好不容易得来的鸡肋,怎么可能给别人,必定留一手的。cookie也是这样的,我们网站的一些重要的帐户信息不可能轻易的就被前端的Js给抓去用了,也必定要留一手的。所以我们的cookie也像大妈一样,留了一手,只要将Httponly 设为true,就万事大吉,前端的js休想访问,大妈就可以偷着乐了。
cookie这个菜蓝还真聪明的呀,最后还有一点就是,大妈买菜也不可能是从早上一直呆在菜市场买到晚上的吧,如果这样的话家人都会叫起来的。因此大妈买菜也是有时间限制的,大妈的时间有限制说明菜蓝子呆在菜市场的时间也是有限制的。因此我们的菜蓝(cookie)也是有时间限制的,我们可以通过expires来为我们的cookie设置相关过期时间的,如果不设置也就默认为网站会话过期时间,关掉浏览器cookie也会消失的。
通篇概述,cookie就完成了与大妈买菜这一相似的举动,主要是为了便于存储一些看似重要但又不重要的信息,(重要在于它能够一定程度的标记一些会话信息,不太重要在于它一般多次加密和需多个密钥才能破解),更重要在于减轻服务器的压力,加快网站响应,实现状态管理,继承于富客户端的理念。
调侃Cookie的更多相关文章
- vue + spring boot + spring security 前后端分离 携带 Cookie 登录实现 只写了个登录
最近想弄一下vue 所以就自己给自己找坑入 结果弄的满身是伤 哈哈哈 首先我说下 前后端分离 跨域请求 我在网上找了一些 可是都是针对于 spring boot 的 我自己还有 securi ...
- 超大 Cookie 拒绝服务攻击
有没有想过,如果网站的 Cookie 特别多特别大,会发生什么情况? 不多说,马上来试验一下: for (i = 0; i < 20; i++) document.cookie = i + '= ...
- IE10、IE11 User-Agent 导致的 ASP.Net 网站无法写入Cookie 问题
你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...
- 解决cookie跨域访问
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- 一个诡异的COOKIE问题
今天下午,发现本地的测试环境突然跑不动了,thinkphp直接跑到异常页面,按照正常的排错思路,直接看thinkphp的log 有一条 [ error ] [2]setcookie() expects ...
- [转载]Cookie/Session的机制与安全
Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...
- jquery.cookie的使用
今天想到了要为自己的影像日记增加赞的功能,并且需要用到cookie. 记得原生的js操作cookie也不是很麻烦的,但似乎jquery更简单,不过相比原生js,需要额外引入2个文件,似乎又不是很好,但 ...
- 跨域问题,前端主动向后台发送cookie
跨域是什么? 从一个域名的网页访问另一个域名的资源,就会出现跨域.只要协议.端口.域名有一个不同就会出现跨域 例如: 1.协议不同 http://www.baidu.com:80 和 https:/ ...
随机推荐
- 判断textview是否被截断
Layout l = textview.getLayout(); if ( l != null){ int lines = l.getLineCount(); if ( lines > 0) i ...
- Java基础知识强化之IO流笔记12:递归之递归解决问题的思想(图解)
1. 使用递归计算5!的结果,递归思想的本质如下: 2. 下面就要使用代码实现这个递归: 递归实现分析: (1)做递归要写一个方法 (2)出口条件 (3)规律 代码实现如下: package com. ...
- SpringMVC12拦截器
创建登陆界面 <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...
- 下拉框上移、下移、添加、移除demo
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <sc ...
- Ext4.1 grid 多选(可无checkbox)
转载 在Ext4.1中的grid默认只能实现单选的. 如果你想要你的grid有多选功能,需要给grid增加selModel 如果你使用了Ext.create('Ext.selection.Checkb ...
- (转)php 函数名称前的@有什么作用
如:$register_globals = @ini_get('register_globals'); 隐藏错误提示~如果ini_get('register_globals'); 语句错误的话`错误会 ...
- target,currentTarget,delegateTarget,srcElement
第一种情况:就是IE9+和其他现代浏览器,支持addEventListener方法.其结果是: this总是等于currentTarget currentTarget总是事件监听者 target总是事 ...
- SQL UPDATE 经典
1 sql中用另一个表的一列来更新数据库表 SELECT TOP 1000 [a] ,[b] ,[c] FROM [单元测试项目].[dbo].[A] SELECT TOP 1000 [a] ,[b] ...
- C++学习之DLL注入
#include<stdio.h> #include<Windows.h> #include<TlHelp32.h> //typedef unsigned long ...
- 二十分钟弄懂C++11 的 rvalue reference (C++ 性能剖析 (5))
C++ 11加了许多新的功能.其中对C++性能和我们设计class的constructor或assignment可能产生重大影响的非rvalue reference莫属!我看了不少资料,能说清它的不多 ...