perl学习笔记15 z

52 篇文章 0 订阅

1.  Cookie简介

当用户登录一个网站时,这个站点可以在用户的计算机上存储少量的文本,这种少量的文本被称为cookie。下次用户登录该网站时,这个cookie文件会被发回服务器,服务器可以利用这些信息认出用户。

一般有4种不同的方式保存数据。两种用到浏览应用程序的内置功能,另一种方法使用客户端cookie文件,最后一种借助具有唯一文件名的服务器端文件。

 

2.  查询字串

当客户机项服务器发送一个请求时,可以在所有请求的URL后面附加一个查询字串。实际上只有执行get请求时,才会附加这种查询字串,在一个URL的后面加上一个问号(?),问号后面跟着要发送的信息。

              < a  herf = “ /cgi-bin/fig16_02.pl ? type = normal ” >

这个超级链接将type=normal作为查询字串当成表单作为get的一部分被提交给程序fig16_02.pl

简单的使用查询字串传递信息牵涉到安全问题。使用查询字串任何人都可以看到被传输的数据,也就可以更改数据。除非查询字串中的信息无关紧要,不需要安全传输。否则,最好不要使用查询字串。

 

3.  隐藏字段

通过隐藏字段传递数据,而隐藏字段可以成为任何表单的组成部分。使用CGI.pm中的param方法,取得传递到程序中的表单字段值。当程序初次运行时,语句什么也不返回。等到程序再次运行时,这几条语句就可以得到所需的数据。

              my  $date = param ( “ HIDDEN ”);

              my  $name = param ( “NAME” );

 

              < input  type = “ HIDDEN”  name = “ HIDDEN ”  value = “ $date ” >

 

这种维护状态信息的方法也存在安全漏洞,这是由使用CGI.pm引入的。要收集从表单发送来的数据,调用方法param是最简单的。但param方法无法分辨是post方法得到的数据还是get方法得到的数据。重要的是,无论get方法还是post方法发送到服务器的数据都可能是不安全的。

因此,隐藏字段方法通常不适合用于传递重要数据。

 

4.  Cookie

Cookie实质上是一些较小的文本文件,是web服务器发送到用户浏览器上的,然后浏览器再将这些文本文件写入计算机。这样,无论什么时候,浏览器再次向该站点发送请求时,该站点就可以找到先前由服务器写入到客户机的Cookie文件,Cookie文件是作为请求的一部分被发回服务器的。这些信息可以帮助服务器认出拥护。存在一个潜在的问题,就是用户的浏览器必须开启Cookie功能。

Cookie的生存期可以是一个字符串,也可以是一个相对值。例如,+30d表示Cookie的生存期是30天。过期后,浏览器就会删除这些Cookie

Cookie中包含许多字段,比如,含有要保存的数据的“名-值”对,生存期数据以及URL中包含了许多信息。只有访问该路径的服务器时Cookie才会有效。

在服务器上,Cookie作为客户机所发送请求的一部分,被保存在环境变量“HTTP_Cookie”中。

 

5.  服务器端文件

维护状态信息的最后一招就是使用服务器端文件。这种方法是最安全的,除非能够访问并修改服务器里的文件。

要想让使用服务器端文件维护状态信息的方法更加安全,必须对文件使用更难以猜测的关键码——使其不宜于访问。还可以采取另一种安全性措施,就是把一个口令发送到用户提供的电子邮箱中。这样做既可以解决安全性的问题,又可以间接的检验用户所提供邮箱地址是否有效。


<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值