Cookie技术在Web个性化服务中的应用

  • 格式:pdf
  • 大小:208.83 KB
  • 文档页数:4

第2l卷(增) (2006) 内江师范学院学报 JOURNAL OF NEIJIANG TEACHERS COl LEGE S1.21 (2006) 

Cook i e技术在Web个性化服务中的应用 

夏范乐,方飞,郑星新,李白威 

(内江师范学院物理学与电子信息工程系, 四川内江641112) 

摘要:随着Web领域内务种技术的不断完善和发展,个性化信息服务已经深入到用户的许多服务范畴。 文章主要阐述-J"Cookies技术在Web个性化服务中的应用及实现。 关键词:Web,Cookie,个性化报务,数据挖掘,用户认证 中图分类号:TP311 文献标识码:A 文章编号:1671—1785(2006)S1 165 4 

随着Internet的进一步发展与用户需求的更加专门化、垂直化,激发了Internet庞大且无序的海 量信息与用户狭窄专一需求之间的矛盾。由于这一矛盾的存在,一方面造成了信息资源的巨大浪费, 另一方面为用户查询所需要的信息造成了极大的困难。于是寻找一种快捷有效的方式,引导人们在信 息海洋中确认正确的方向,充分利用Internet网上的宝贵资源是解决这一矛盾的关键。个性化信息服 务理念的引入,为Internet信息服务与技术提供了一种全新的思路,开拓了一种新的服务模式…。 

1个性化服务 个性化是使事物具有个性,或者使其个性凸显。这里包含了两层含义,其一,个性是需要经过培 养而逐步形成的,这个过程可以称之为使个体个性化的一个过程;其二,个体总是具有一定的个性 的,让这种个性得到别人的了解、认可,并在一定的空问得以体现、展示,是每个个体都拥有的潜在 需求,这个过程我们也称之为个性化的过程。 那么什么是个性化信息,这个概念可从两个角度来分析。其一,个性化信息是指反映人类个性特 性的一切信息,这些信息包括了这个个体的各种属性的描述;其二,个性化信息是指由人类个体特性 所决定的其对信息的需求的一种信息组合,也就是由人类个性对信息需求的决定关系而产生的一系列 对个体有用的信息。 个性化信息服务既是一种个性化服务,又是一种信息服务。因此,我们可根据前面阐述的两种个 性化过程和两类个性化信息,找到个性化信息服务的定位。个性化信息服务首先应该是能够满足用户 的个体信息需求的一种服务,即根据用户提出的明确要求提供信息服务,或通过对用户个性、使用习 惯的分析而主动地向用户提供其可能需要的信息服务。其次,个性化信息服务应能够根据用户的知识 结构、心理倾向、信息需求和行为方式等来充分激励用户需求、促进用户有效检索和获取信息,促进 用户对信息的有效利用并在此基础上进行知识创新。 2 Gookie技术 Cookie并不是它的原意“甜饼”的意思,而是一个保存在客户机中的简单的文本文件,这个文 件与特定的Web文档关联在一起,保存了该客户机访问这个Web文档时的信息,当客户机再次访问这 个Web文档时这些信息可供该文档使用。山于“Cookie”具有可以保存在客户机上的神奇特性,因此 它可以帮助我们实现记录用户个人信息的功能,而这一切都不必使用复杂的CGI等程序。因此有人就 

收稿日期:2006 4—13 基金项目:内江师范学院大学生科研项目(05NSD--066) 作者简介:夏范乐(1984一),男,山东新泰人,内江师范学院物理学与I乜子信息工程系2004级学生。

 维普资讯 http://www.cqvip.com ・166・ 内江师范学院学报 第21卷(增)1 

给Cookie下过这样的定义:“Cookie是Web N ̄J,i放在您的硬盘上的程序。它守在您的电脑里,搜集您的信 息以及您在因特网上所做的任何事情,当Wleb站点需要的时候它能够下载所有这些搜集到的信息。”121 

在Jj69络应用中,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形 式保存在每个用户的机器上。如果使用IE浏览器访/ ̄Web,会看到所有保存在您的硬盘上的Cookie。 在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对 应的Web站点的信息。在这里的每个Cookie文件都是一个简单而又普通的文本文件。透过文件名,您 可以看到是哪个Web站点在您的机器上放置TCookie(当然站点信息在文件里也有保存),您也能双 击打开每一个Cookie文件。 Cookie技术的初衷是为了给浏览网站的人提供一个更好的浏览环境,并让网站设计者能够更加准 确地收集访客的信息,为此目的它实现了两个功能:(1)定制个性化空间,用户访问一个站点,可能 由于费用、带宽限制等原因,并不希望浏览网页所有的内容。Cookie可根据个人喜好进行栏目设定, 即时、动态地产生用户所要的内容,这就迎合了不同层次用户的访问兴趣,减少用户项目选择的次数, 更合理利用网页服务器的传输带宽。 (2)记录站点轨迹,由于Cookie可以保存在用户机上,并在用 户再次访问该Server时读回,这一特性可以帮助我们实现很多设计功能,如显示用户访问该网页的次 数:显示用户上一次的访问时间:甚至是记录用户以前在本页中所做的选择等等,从而免去我们再去 研究复杂的CGI编程。 3 Cookie在个性化服务中的应用 所谓个性化就是信息接收者存在的个性差异,也就是个人的学习能力、个人兴趣与习惯、个人学习基 础、努力程度等都存在的差异。目前个性化数据的获取主要分为两类,即显式地手工输入用户的个性化 特征和隐式地通过Web挖掘来收集跟踪用户行为,自动获取用户的个性化特征。 

3.1 Cookie在日志挖掘中的应用 网络用户访问记录的挖掘主要是从Web的访问记录中抽取有意义信息的模式。Web服务器保留了 用户的访问日志(Web access log)记录(主要包含URL,时间,IP地址和Web页面等内容信息),其中 保存了有关用户访问和交互的信息。对用户的Web日志记录进行挖掘与分析,可以比较真实地反映其信 息需求。具体方法为针对用户的Web访问日志记录,利用路径分析,分类聚类,关联规则和序列模式的 发现等方法进行分析,寻找其中蕴涵的用户知识和模式。 Cookie是用户访问Web服务器时产生的口志文件之一,是用户曾经访问的站点所发送的小数据包, 并存储在用户的浏览器中,冈此可作为用户在服务器一方(发送Cookie的站点)的唯一标识,并可重复 利用。Cookie提供了追踪用户的方法,它给用户加标识,确切地说是给用户的浏览器文件加标识,当 再次访问发送Cookie的站点时,浏览器被作为唯一可以鉴别的实体。在浏览器中用作Cookie存储用 的用户信息,在以后访问中能够被发布站点调用,也能够在重复访问中更新。通过对Cookie的分析,可 以获取用户的个性化需求、兴趣和爱好,该方法是目前一种较为有效的实用方法,但如果用户重装了 操作系统、重装浏览器、或者几个用户共用一台计算机,将会使Cookie内容丢失或失真,从而造成信 息需求挖掘产生偏差,冈此上述方法也存在一定的局限性。 3.2 Cookie在用户认证中的应用 许多Web应用程序具有的一个重要部分是:能够识别用户和控制对资源的访问,确定请求实体身份的 

行为称为身份验证。通常,用户必须出示凭据(如名称/密码对)以便进行身份验证。一旦经过验证的 标识可用,就必须确定此标识是否可以访问给定的资源,此过程称为授权。ASP.NET和IIS一起使用, 

为应用程序提供身份验证和授权服务。 . ASP为WEB报务提供了三种主要的身份验证方式即:Windows、Cookie和Passport,Windows是指使 用Windows自身的安全管理方式,你可通过设置Windows的用户及IIs等权限来保障安全,对于一些大应 

用,使用此方法将非常复杂和烦琐;Passport方式较为方便和安仝,用户只用一个用户名和密码可以访 

问任何成员站,并且在注销离开时,所有Passport

相关的信息都会清除,你可以在公共场所放心地使用 维普资讯 http://www.cqvip.com 第2l卷(增)1 夏范乐,方飞,郑星新,李自威 。Cookie技术在冒eb个性化服务中的应用 ・167・ 

它,冈此Passportl: ̄较适合lnternet的应用,在企业级应用中,使用Cookie方式和SSL、IP限制等一些网 

管技术同样可以实现一定的安全性。山于前两种方式需要系统缓存来保存用户的登录信息,这无疑是 占用系统资源的一种做法,那有没有更好的办法呢?若使用基于Cookie原理的用户验证票的方式来保 

存用户登录信息的,就可以避免了使用缓存所带来的困扰,使用该方法时必须对Cookie进行配置 。 

首先在D:\inetpubwwwroot(IIS缺省目录)下创建config.web文件,内容如下: 

<configuration> 

<security> 

<authentication mode=”Cookie”> 

<cookie decryptionkey ”autogenerate”loginurl ”/login.aspx”cookie=''.ASPXAUTH”/> 

</authentication:> 

<auth0rization二> 

<deny users=”?”/> 

<二/authOrizatiOn≥> 

</security> 

</configuration> 该配置文件声明用Cookie方式验证,当访问该目录及其予目录下的aspx文件时,如果你没有认证的 Cookie,它就会重定 ̄Ulogin.aspx。 

其次编写用户认证程序,在rootI ̄t录下建3_ ̄_Default.aspx和login.aspx两个ASP+程序。 

login.aspx程序内容如下: 

<%@Import Namespace=”System.Web.Security”%> 

<%@Import Namespace=”System.Data”%> 

<%@Import Namespace ”System.Data.ADO”%> <html> 

<head> 

<title>Login</title> 

<script language=”C群”runat=server Debug=”true”> void Login_Cl ick(Object sender,EventArgs e)< if(Page.IsValid) 

{ADODataReader dr; //连接数据库,用户名和密码放在ODBC连接的数据库QCDB ̄的表Users中; 

ADOConnection ca new ADOConnection(”DSN=QCDB”); 

ca.Open(); 

ADOCommand cmdQuestion=new ADOCommand(”SELECT Password FROM Usersswheresname=… 

+YourName.Text-t-…”,cn); //选择相应用户信息 

cmdQuestion.Execute(out dr); ,/建一个datareader得 ̄IJSQL结果 

if(dr.ReadO)//得到对应的第一个行数据