|
怎样将cookie用于Apache用户管理...phpma.com
Cookie是内容简单的文本消息,它保存在客户机器的内存里,或者作为文件保存在客户机器的硬盘里。Cookie被用来保存客户端与服务器之间事务处理的状态信息,因为协议(HTTP)是无状态的(stateless)。尽管cookie的确给我们带来了便利,但是它们可能会造成安全风险。然而,如果不考虑其安全问题,cookie还是相当有用的。你可以(用它来)监视自己Apache服务器上Web网站的流量,了解Web页面上正在使用什么特性(这对于网站的流量分析很有用),通过识别用户和追踪其活动来改善服务器的安全状况。phpma.com
配置Apache,实现cookie追踪phpmphp开源嘛 a.com
在将cookie用来实现这些复杂的特性之前,了解如何首先就安装好Apache服务器,让其能够使用cookie是很重要的。Apache带有一个生成cookie并将其发送到客户端的模块——mod_usertrack。这个模块必须在配置Apache的时候加载。
在配置文件httpd.conf里,用来加载cookie模块的代码其实已经写好了(但是通常都被注释掉了)。要让代码在系统配置里加载这个模块,你只需要将下面这几行取消注释就行了: LoadModuleusertrack_module modules/mod_usertrack.sophpma.com AddModulemod_usertrack.c
一旦你激活了生成cookie的特性,那就需要其他的配置信息。你必须配置cookie自身,并设置其日志记录。由于cookie是由客户端进行记录的,所以详细记录客户端网站的活动是可能的。这样日志文件就成了一个安全工具和分析工具。
什么类型的cookie?php开源嘛
Httpd.conf文件里的下面这些行用来设置cookie的格式和记录条件。在缺省情况下,Apache将其cookie命名为Apache。如果你想省掉cookie名,这是可以的。但是,你也可以自己选择cookie名,就像下面这样:phpma.com CookieName MyCookie
Cookie的格式也是可选的。Apache在缺省情况下会把Netscape的cookie样式设置为: CookieStyle Netscape
你也可以用自定义的样式来取代缺省的样式,只要你喜欢。但是,除了Netscape自己的格式之外,cookie还有自己的“标准”。事实上,Netscape在RFC 2109和RFC 2965首先提出了这些标准。要取代缺省的样式,就要使用下面的样式名:
对于RFC 2109的cookie格式,输入下面的内容: CookieStyle Cookie
对于RFC 2965的cookie格式,就要输入下面的内容:phpma.com CookieStyle Cookie2
Cookie的存留时间
你希望cookie能够存活多长时间?这可以在配置的时候决定,在每个cookie的标题里都会包含一个由配制值指定的失效日期。如果你不输入失效日期,Apache就会缺省地将cookie的存留时间设置为每个会话(保存在内存里,并在会话结束的时候删除)。如果你输入一个数值,Apache会把这个值作为存活的秒数(在下面的例子里是1小时): CookieExpires 3600
另外,你也可以在引号里输入一个时间段: CookieExpires "3 days"
利用cookiephpma.com
一旦你激活了cookie并设置好了名称、格式和有效期,你就准备好开始记录了。当cookie追踪(这一特性)被激活时,Apache会在收到新请求的时候生成一个cookie。为了在httpd.conf文件里激活追踪,你需要写入下面这一行: CookieTracking On
当你追踪cookie的时候,你就是在追踪特定域里的活动。要记住,驻留在客户端机器里的cookie通常含有相关的域以及用户服务器交互操作的路径。你可以在这里输入域名,这个域名然后将成为由客户端保存的cookie的一部分。你不一定要使用它,缺省的形式是在送出的cookie的标题里留一个空地方。但是,如果你不输入域,那么你就不能够为一组客户端指定所要访问的域。 CookieDomain .userdomain.com
追踪数据会去哪儿?phpma.com
你可以在配置的时候在httpd.conf里加入这样一行来设置日志文件,就像下面这样:php开源嘛 CustomLog logs/clickstream “n %r %t”
在上面这一行里,logs/clickstream指定了日志目录和clickstream这个子目录,cookie的日志文件就放在里面。
跟踪数据phpma.com
一旦你生成这个日志,每次有客户端请求的时候,都会有内容加到这个日志里。有了这样一个日志,你就可以追踪到大量的信息。下面是这些信息可能的一些用途:
- 通过访问频率来追踪所有的用户,也就是说,一天一次、一周两次等等。 php开源嘛
- 通过停留时间来追踪所有的用户,也就是说,他们在一个Web网站上花了多少时间。
- 将最近的用户也过去所有用户的列表进行对比。
- 通过点击动作来追踪单个用户的活动,也就是说,他所访问的页面和链接(这对于Web网站的分析很有用)。
- 追踪单个用户在某个Web网页上花的时间。
- 通过特定时间段内的点击(数量)来追踪集体用户的活动,也就是说,哪些链接/按钮/特性在给定的天数、星期等时间段使用得最多。
- 通过页面的访问来追踪集体用户的活动,也就是说,在给定的时间段内哪个Web页面被查看次数最多——在平均的时间周期内。
你可以为这些信息想到其他的使用方法,但是这是一个开始。你可以知道用户正在哪里闲逛,哪些用户正在到处转;看到什么时候用户在访问一个固定的网站,以及其使用模式是否反映了他正在正常使用等等。日志文件很容易操控;设计一些工具(从其中)提取特定的信息用于安全或者分析的目的只不过是一个简单的练习。
更进一步的措施phpma.com
通过更进一步使用cookie来增强你的Apache服务是可能的。例如,追踪用户喜好的设置和应用程序也是可能的。但是,以这种方式获得用户的信息会带来隐私的问题。这些功能如何实现,以及如何处理隐私的问题将会在下一篇文章里讨论。phpma.com
(阅读次数:)
|