浅析关于cookie和session(4)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:PHP5中的this,self和parent关键字详解
PHP5是一具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性,但是有部分概念也比较绕人,所以今天拿出来说说,说的不好,请高手见谅. (阅读本文,需要了解PHP5的面向对象

2.6 常用session函数:

以下为引用的内容:

bool session_start(void); 初始化session
bool session_destroy(void): 删除服务器端session关联文件。
string session_id() 当前session的id
string session_name() 当前存取的session名称,也就是客户端保存session ID的cookie名称.默认PHPSESSID。
array session_get_cookie_params() 与这个session相关联的session的细节.
string session_cache_limiter() 控制使用session的页面的客户端缓存
ini session_cache_expire() 控制客户端缓存时间
bool session_destroy() 删除服务器端保存session信息的文件
void session_set_cookie_params ( int lifetime [, string path [, string domain [, bool secure [, bool httponly]]]] )设置与这个session相关联的session的细节
bool session_set_save_handler ( callback open, callback close, callback read, callback write, callback destroy, callback gc )定义处理session的函数,(不是使用默认的方式)
bool session_regenerate_id([bool delete_old_session]) 分配新的session id

2.7 session安全问题
攻击者通过投入很大的精力尝试获得现有用户的有效会话ID,有了会话id,他们就有可能能够在系统中拥有与此用户相同的能力.
因此,我们主要解决的思路是效验session ID的有效性.

以下为引用的内容:

<?php

if(!isset(_SESSION['user_agent'])){
_SESSION['user_agent'] = _SERVER['REMOTE_ADDR']._SERVER['HTTP_USER_AGENT'];
}

/* 如果用户session ID是伪造 */
elseif (_SESSION['user_agent'] != _SERVER['REMOTE_ADDR'] . _SERVER['HTTP_USER_AGENT']) {
session_regenerate_id();
}
?>

2.8 Session通过cookie传递和通过SID传递的不同:

分享:解析PHP安全编程的加密功能
预备知识 在详细介绍PHP的安全功能之前,我们需要花 点时间来向没有接触过这方面内容的读者介绍一些有关密码学的基本知识,如果对密码学的基本概念已经非常熟悉,就可以跳过去这一部分

来源:模板无忧//所属分类:PHP教程/更新时间:2009-09-10
相关PHP教程