ITOO4.1之cookie学习

【什么是cookie

打开你笔记本上的Documents andSettings文件夹,进去以后,随便打开一个用户来看看,是不是有一个文件夹叫“Cookies”,里面装着一堆.txt文件?(cookie一般是隐藏文件夹,你可以启动windows搜索引擎进行搜索,记得搜索的项目一般全部打勾就可以让电脑帮你找了,同时您可以在IE浏览器点击属性拦中,里面有个打开文件夹,点击就可以直截了当的看到cookie相关文件了。)那么,这个Cookies到底是个什么东东呢?

cookie是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。

【工作原理】

cookies是由服务器端生成,发送给user-agent(一般是浏览器),浏览器会将cookiekey/value保存到某个目录下的文本文件内

下次请求同意网站时就发送该cookie给服务器(前提是浏览器设置为启用cookie)。cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入js session id,这样服务器可以知道该用户是否合法用户以及是否需要重新登陆等,服务器可以设置或读取cookies中包含信息,借此维护用户跟服务器会话中的状态。

【主要用途】

服务器可以利用cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最经典的应该是判断注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站是保留用户信息以便简化登录手段,这些都是cookies的功能。

【生存周期】

Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。

【安全性问题】

Cookie的目的是为用户带来方便,为网站带来增值,一般情况下不会造成严重的安全威胁。Cookie文件不能作为代码执行,也不会传送病毒,它为用户所专有并只能由创建它的服务器来读取。另外,浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB,因此,Cookie不会塞满硬盘,更不会被用作"拒绝服务"攻击手段。但是,Cookie作为用户身份的替代,其安全性有时决定了整个系统的安全性,Cookie的安全性问题不容忽视。主要的安全威胁有:Cookie欺骗、Cookie截获。

【Cookie小实例】

要求:用cookie记录上次登录的用户名(1.提交时—记录用户名;2.window.onload-读取用户名)

1、代码展示

<script type="text/javascript">
function setCookie(name,value,iDay)
{
	var oDate=new Date();
	oDate.setDate(oDate.getDate()+iDay);
	document.cookie=name+'='+value+';expires='+oDate;
}
setCookie('userName','pmaxyt',30);
setCookie('password','123456',20);

window.onload=function()
{
	var oForm=document.getElementById('form1');
	var oUser=document.getElementByName('user')[0];
	oForm.onsubmit=function()
	{
		setCookie('user',oUser.value,14);
	};
	oUser.value=getCookie('user');
}
</script>
<pre name="code" class="javascript"><body>
<form  action="http://www.baidu.com">
用户名:
  <input type="text" name="user"/><br>
密 码:<input type="password" name="pass"/><br>
<input type="submit" value="登录"/>
</form>
</body>

 
 

2、效果展示

1)第一次打开页面时:

ITOO4.1之cookie学习_第1张图片

2)打开设置的cookie:

需要注意的是:打开火狐站点第一个文件夹(没有名称)即为本地cookie存储。通过expires可以设置过期时间,如下图:UserName过期时间为30天后;password过期时间为20天之后。

ITOO4.1之cookie学习_第2张图片ITOO4.1之cookie学习_第3张图片ITOO4.1之cookie学习_第4张图片

3)再次打开页面时:

ITOO4.1之cookie学习_第5张图片


【学习小结】

花了将近一天的时间,研究了一下cookie,原来还可以自己设置cookie的失效时间。又学到了好多东西,很开心。

你可能感兴趣的:(ITOO4.1之cookie学习)