点击“安全退出”,降低被窃取信息的概率【关于session的知识点】

  很多网站都是利用session来讲用户的信息保存到服务器上的某个文件夹中(通常是C:\window\temp)。一个会话对应一个session文件,如同一个用户使用chrom和FF打开同一个页面的时候,会在服务器上生成两个不同文件名的session文件,但是文件里面的内容是一样的。

  当用户打开浏览器,访问某个网站时操作session,服务器就会在服务器端的磁盘上为该浏览器分配一个保存session信息的文件,该文件被这个浏览器独自访问。

  比如:服务器上有两个文件,a.php和b.php

a.php的code:

<?php
    session_start();//能够创建一个空的session文件
    $_SESSION['name']='marcofly';//网session文件中写入数据name|s:8:"marcofly"; 
?>

b.php的code:

<?php
session_start();
session_destroy();?>

当用户使用谷歌浏览器访问a.php的时候,会在服务器生成一个session文件:sess_***(*号中的信息根据不同的时间不同的浏览器而不同)

比如,我使用chrom浏览器访问该文件后,将会生成一个sess_cqjg8ci4il97bt90pup67hc135文件

        使用FF浏览器访问该文件后,将会生成一个sess_f1hd048893vl399tha6r4t4mt7文件

打开后,发现文件内容其实都是一样的:name|s:8:"marcofly";    

  当使用chrom访问b.php文件后,会发现sess_cqjg8ci4il97bt90pup67hc135文件会被删除,原因是:执行session_destroy();的时候,其实就相当于将当前会话所对应的session文件从磁盘上删除。

  但是,我们如果只是简单的把浏览器关闭,发现当前会话所对应的session文件并没有删除,重新访问a.php后,又会在该目录下生产一个session文件,内容也是name|s:8:"marcofly";    

看到这里,我们可以总结出如下信息:

  1. session_destroy函数的作用其实就是删除当前会话所对应的session文件
  2. 关闭一个浏览器进程,并不会将保存在服务器上的用户session信息文件删除
  3. 同一时刻,使用不同的浏览器访问同一个页面的时候,会生成两个不同文件名的session文件,这也就是我们使用chrom浏览器登录淘宝后,然后再使用FF也需要登录的原因,因为他们所创建的session文件时不同的,即使内容是相同的
  4. 为了安全考虑,“安全退出”可以帮助我们删除保存在服务器上的session信息文件,这就大大降低了被骇客窃取信息的可能性
posted @ 2012-06-16 21:45  曾是土木人  阅读(1047)  评论(0编辑  收藏  举报