Cookie的作用域

news/2024/5/18 14:12:19 标签: cookie, domain, path, 作用域

Cookie的作用域:Domain为设置Cookie的有效域,Path限制有效路径


Cookie的作用域
     Cookie可以说是我学习Web开发最早接触的几个概念之一了,本以为Cookie的使用对我来说应该毫无问题,但前端时间SSO的开发又给我上了一课

,再一次让我经历了 “入门-精通-陌生-熟悉” 的过程。

   以前对于Cookie的认识仅局限于Cookie是个在客户端存放东东的途径,只有放的人可以取。现在看来概念很模糊,虽然不错但不准确。就以这样的

概念用了那么长的时间也相安无事,因为所涉及的都是同一个项目内使用的Cookie,也从来没考虑过“只有放的人可以取”这个“放的人”到底指的

是哪些,直到这次SSO的开发。突然发现在其他项目设的Cookie在另一个项目为什么也取得到(我预期是根本不可能取到的),随即上网查了查资料着

实大吃一惊,原来还有Domain和Path这种东西存在。

Domain为设置Cookie的有效域,Path限制有效路径,如以下几种情况:

1.最大可能的作用域 yourdomain.com所有角落(设置Cookie.Domain = "yourdomain.com",效果为yourdomain.com域下的所有主机的所有位置都可以

取到这个Cookie)

2.域下的某主机 www.yourdomain.com(设置Cookie.Domain = "www.yourdomain.com",效果为www主机下所有位置可以取)

3.某主机的某个文件夹 www.yourdomain.com/bbs (Cookie.Domain ="www.yourdomain.com" ; Cookie.Path = "/bbs",www主机的bbs下可以取)

默认情况是Domain为当前主机且不限制位置

string eventUrl = "http://www.youdomain.com" + Request.CurrentExecutionFilePath.ToString();

// Request.CurrentExecutionFilePath.ToString(); 当前位置的虚拟目录下的相对位置。

//******************************************************************************************************//

//设定cookie的生命周期,在这里定义为一个小时

  DateTime dtNow = DateTime . Now ;

  TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;

  cookie . Expires = dtNow + tsMinute ;
//******************************************************************************************************//

//***************** 存cookies ***********
                    HttpCookie cookie = new HttpCookie("Passport");
                    cookie.Values.Add("listlofusageemail",this.txtUsername.Value.ToString());
                    cookie.Domain = "sjcm.cn";
                    Response.AppendCookie(cookie);

//***************** 取cookies ***********
                    //HttpCookie ckstr=Page.Request.Cookies["Passport"];
                    //string cookiestr = ckstr.Values["listlofusageemail"];

//***************** 判断cookies 是否存在 ***********

if (ckstr == null)
            {


http://www.niftyadmin.cn/n/1313537.html

相关文章

BZOJ1073 k短路(A*算法)

A*算法,也叫启发式搜索,就是设计一个预估函数,然后在搜索的过程中进行有序的搜索,我们设到目前状态的花费为f(x),到目标状态的估计花费为h(x),那么我们按照h(x)f(x)排序即可,这道题里起点到目前的距离为f(x),目前到终点…

MySQL中利用外键实现级联删除、更新

MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括R…

[SXT][MSB]正则表达式总结

http://www.cjsdn.net/Doc/JDK50/java/util/regex/Pattern.html package test.regularExp; import java.util.regex.Matcher;import java.util.regex.Pattern; public class Test { public static void main(String[] args) { // 简单认识正则表达式的概念 /*p("abc…

43.可变参数实现printf

1 #include <stdio.h>2 #include <stdio.h>3 #include <Windows.h>4 #include <stdarg.h>5 6 void myprintf(char *ptstr, ...)//可变参数7 {8 va_list ap;//起始点9 va_start(ap, ptstr);//从ptstr开始向后读取数据存放在ap中 10 char f…

[SXT][WY]Hibernate01 入门实例

1、写hibernate的配置文件hibernate.cfg.xml&#xff0c;包含数据库相关信息 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">…

【django基础之ORM,增删改查】

一、定义 1.什么是ORM&#xff1f; ORM&#xff0c;即Object-Relational Mapping&#xff08;对象关系映射&#xff09;&#xff0c;它的作用是在关系型数据库和业务实体对象之间作一个映射&#xff0c;这样&#xff0c;我们在具体的操作业务对象的时候&#xff0c;就不需要再去…

MYSQL的事务处理功能

事务处理在各种管理系统中都有着广泛的应用&#xff0c;比如人员管理系统&#xff0c;很多同步数据库操作大都需要用到事务处理。比如说&#xff0c;在人员管理系统中&#xff0c;你删除一个人员&#xff0c;你即需要删除人员的基本资料&#xff0c;也要删除和该人员相关的信息…

PHP登录 验证码的实现

1. 新建code.php验证码生成文件在此之前必须打开php的GD库&#xff0c;修改php.ini文件的配置&#xff0c;取消extensionphp_gd2.dll前面的分号。代码如下&#xff1a;<?phpsession_start();//生成验证码图片Header("Content-type: image/PNG");$im imagecreate…