用Cookie保存登录信息.ppt_第1页
用Cookie保存登录信息.ppt_第2页
用Cookie保存登录信息.ppt_第3页
用Cookie保存登录信息.ppt_第4页
用Cookie保存登录信息.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章 用Cookie保存登录信息,主讲:朱会东 E-Mail:,本课教学内容,认识Cookie Cookie的应用 Coolie安全,12.1 认识Cookie,Cookie 是一个小的文本数据,由服务器端生成,发送给客户端浏览器,客户端浏览器如果设置为启用 Cookie,则会将这个小文本数据保存到某个目录下的文本文件内。下次登录同一网站,客户端浏览器则会自动将Cookie 读入之后,传给服务器端。一般情下,Cookie 中的值是以 key-value 的形式进行表达的,Cookie示意图,5,Cookie中的主要方法,Cookie中的主要方法,12.1.2 如何将Cookie写入客户端,创建Cookie Cookie是由Javax.servlet.http.Cookie类所衍生出来的对象,建立Cookie的语法如下: Cookie objCookie = new Cookie(indexValue,stringValue) 从上面的语法中可以看出,一个Cookie对象必须包含有一个特定的indexValue索引值与字符串类型的数据内容stringValue。例如: Cookie c = new Cookie(“mycookie“,“Cookie Test“);,12.1.2 如何将Cookie写入客户端,建立了Cookie之后,该Cookie数据还必须传送到客户端在JSP编程中,利用response对象,通过addCookie方法将Cookie写入客户端。语法如下: response.addCookie(cookie); 例如: ,12.1.2 如何将Cookie写入客户端,Cookie 操作主要用到以下几个方法: response.addCookie(Cookie c):通过该方法,将 Cookie 写入客户端 Cookie.setMaxAge(int second):通过该方法,设置 Cookie 的存活时间。参数表示存活,12.1.3 如何读取客户端的Cookie,将Cookie保存到客户端,就是为了以后得到其中保存的数据。调用HttpServletRequest的getCookies得到一个Cookie对象的数组 语法如下: Cookie 数组变量名request.getCookies(); 在客户端传来的Cookie数据类型都是数组类型,因此要得到其中某一项指定的Cookie对象,需要遍历数组来找。,12.1.3 如何读取客户端的Cookie,“); %,几个操作Cookie的常用方法,1. 设置Cookie的存在期限 Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为0或负值,这样在关闭页面时,就马上清除Cookie,不会记录用户信息,更加安全。在默认情况下,Cookie是随着用户关闭浏览器而自动消失的,不过,Cookie也可以设置其存在的期限,让用户下次在打开网页时,服务器端仍然能够取得同样一个Cookie中的数据内容。,几个操作Cookie的常用方法,设置Cookie变量的有效周期的语法如下: Cookie 变量名称.setMaxAge(有效周期); 有效周期的时间以秒为单位,时间设置越大,表示Cookie对象的有效时间越长。 ,自动保存的Cookie import javax.servlet.http.*; public class LongLivedCookie extends Cookie public static final int SECONDS_PER_YEAR = 60*60*24*365; public LongLivedCookie(String name, String value) super(name, value); setMaxAge(SECONDS_PER_YEAR); ,几个操作Cookie的常用方法,2. 删除Cookie Cookie killMyCookie = new Cookie(“mycookie“, null); killMyCookie.setMaxAge(0); killMyCookie.setPath(“/“); response.addCookie(killMyCookie);,几个操作Cookie的常用方法,3.获取指定名字的Cookie值 public static String getCookieValue(Cookie cookies, String cookieName, String defaultValue) for(int i=0; icookies.length; i+) Cookie cookie = cookiesi; if (cookieName.equals(cookie.getName() return(cookie.getValue(); return(defaultValue); ,几个操作Cookie的常用方法,12.2 Cookie的应用,Cookie 在 Web 编程中应用很广的原因: Cookie 的值能够持久化,即使客户端机器关闭,下次打开还是可以得到里面的值 Cookie 可以帮助服务器端保存多个状态信息,但是不用服务器端专门分配存储资源 Cookie 可以持久保持一些和客户相关的信息,12.2 Cookie的应用,Cookie的常见用途如: (1)用Cookie实现自动登录 (2)用Cookie实现页间传值 (3)用Cookie保存客户个性化信息 (4)用Cookie实现网站浏览人数管理 (5)在电子商务站点中实现诸如“购物车”等功能,12.2 Cookie的应用,Cookies给网站和用户带来的好处非常多: Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。 Cookie能告诉在线广告商广告被点击的次数 ,从而可以更精确的投放广告。 Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点。 Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务。,12.3 Cookie的安全,盗取的方法: 利用跨站脚本技术,将信息发给目标服务器;为了隐藏 URL,甚至可以结合 Ajax(异步 Javascript 和 XML 技术)在后台窃取 Cookie,12.3 Cookie的安全,通过某些软件,窃取硬盘下的 Cookie。一般说来,当用户访问完某站点后,Cookie文件会存在机器的某个文件夹下,因此可以通过某些盗取和分析软件来盗取 Cookie,12.3 Cookie的安全,利用客户端脚本盗取 Cookie。在 Javascript 中有很多 API 可以读取客户端 Cookie,可以将这些代码隐藏在一个程序(如画图片)中,很隐秘地得到 Cookie 的值,解决 Cookie 安全的方法,方法有以下几种 替代 Cookie。将数据保存在服务器端,可选的是 session 方案 及时删除 Cookie,解决 Cookie 安全的方法,要删除一个已经存在的 Cookie,有以下几种方法: 给一个 Cookie 赋以空置 设置 Cookie 的失效时间为当前时间,让该 Cookie 在当前页面的浏览完之后就被删除了 通过浏览器删除 Cookie。如在 IE 中,可以选择“工具“Internet 选项“ “常规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论