cookie的语法: http cookie的发送是通过http头部来实现的,他早于文件的传递,头部set-cookie的语法如下: Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要设置cookie的值(name不能使用“;”和","号),有多个name值时用";"分隔例如:name1=name1;name2=name2;name3=name3。
expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如: path="/cgi-bin/",如果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。
domain=domain: 对cookie生效的域名,例如:domain="www.chinalb.com"
secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。 cookie的模块: 以下是一个cookie的模块,可以为你编写程序带来方便 #########代码开始 ############################################################################### # HTTP Cookie Library Version 2.1 # # Copyright 1996 Matt Wright mattw@worldwidemart.com # # Created 07/14/96 Last Modified 12/23/96 # ############################################################################### $Cookie_Exp_Date = 'Thu, 31-Dec-2050 23:00:00 GMT'; #此处设置cookie的有效时间 $Cookie_Path = ''; #此处设置cookie的有效路径,默认脚本存在的目录。 $Cookie_Domain=''; #此处设置cookie的有效域名,默认脚本调用的域名。
@Cookie_Encode_Chars = ('%', '+', ';', ',', '=', '&', '::', 's'); %Cookie_Encode_Chars = ('%', '%25', '+', '%2B', ';', '%3B', ',', '%2C', '=', '%3D', '&', '%26', '::', '%3A%3A', 's', '+'); # 特殊字符的解码
@Cookie_Decode_Chars = ('+', '%3A%3A', '%26', '%3D', '%2C', '%3B', '%2B', '%25'); %Cookie_Decode_Chars = ('+', ' ', '%3A%3A', '::', '%26', '&', '%3D', '=', '%2C', ',', '%3B', ';', '%2B', '+', '%25', '%'); # 特殊字符的解码 ###################################3
#获取cookie信息
############################################################################### # GetCookies # ############################################################################### sub GetCookies { local(@ReturnCookies) = @_;
上一篇:CGI教程(目录)
下一篇:CGI简明教程第八章
|