ITOO4.1之cookie学习

【什么是cookiejavascript

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

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

【工做原理】浏览器

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

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

【主要用途】cookie

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

【生存周期】学习

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-读取用户名)

一、代码展现

<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>

 

二、效果展现

1)第一次打开页面时:


2)打开设置的cookie:

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


3)再次打开页面时:



【学习小结】

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

相关文章
相关标签/搜索