> 백엔드 개발 > PHP 튜토리얼 > 把Session放入MySql_PHP教程

把Session放入MySql_PHP教程

WBOY
풀어 주다: 2016-07-20 11:04:55
원래의
758명이 탐색했습니다.

session通常放在/tmp目录下,而该文件夹的权限是everbody可读,这个就非常可怕了!学校的论坛曾经就有人通过session来盗取帐号!所以后来就尝试把session放入数据库,表的结构和过程如下:
//创建表
//create sesslib.sql
CREATE TABLE sesslib (
    data text,
    time datetime,
    id int(11) DEFAULT '0' NOT NULL auto_increment,
    sid varchar(32) NOT NULL,
    PRIMARY KEY (id),
    UNIQUE sid (sid)
);
//End
//XX.php自定义了session的数据库路径,当某个页面需要使用//session时,可以include这个部分,使用方法为:

include "XX.php";//XX.php
session_start();
//以下就可以正常使用session了
?>
/******************************************************/
    XX.php 内容:
/*****************************************************/

$sess_dbh="";
$sess_maxlifetime=get_cfg_var("session.gc_maxlifetime");
function sess_open($save_path, $session_name) {
    global $hostname, $dbusername, $dbpassword, $dbname, $sess_dbh;
    
    //$sess_dbh=mysql_pconnect($hostname,$dbusername,$dbpassword) or die("不能连接数据库!");
    $sess_dbh=mysql_pconnect('localhost','test','test') or die("不能连接数据库!");
    // mysql_select_db("$dbname") or die("不能选择数据库!");
mysql_select_db('test') or die("不能选择数据库!");
    return(true);
}
function sess_close() {
    //mysql_close();
    return(true);
}
function sess_read($sid) {
    global $sess_dbh;
    $result = mysql_query("select data from sesslib where sid='$sid'", $sess_dbh);

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445162.htmlTechArticlesession通常放在/tmp目录下,而该文件夹的权限是everbody可读,这个就非常可怕了!学校的论坛曾经就有人通过session来盗取帐号!所以后来就尝...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿