日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

把Session放入MySql

把Session放入MySql

更新時間:2022-05-02 文章作者:未知 信息來源:網絡 閱讀次數:

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);
$n=mysql_num_rows($result);
if($n==0) {
return("");
}
else {
$sess_data=mysql_result($result,0);
return($sess_data);
}
}

function sess_write($sid, $sess_data) {
global $sess_dbh;
if(!empty($sess_data)){
$r=mysql_query("insert into sesslib set sid='$sid',data='$sess_data',time=now()", $sess_dbh);
if(!$r) { // insertion failed, means the session is already there, update it
$r=mysql_query("update sesslib set sid='$sid', data='$sess_data', time=now() where sid='$sid'",$sess_dbh);
}
return $r;
}}

function sess_destroy($sid) {
global $sess_dbh;

$r=mysql_query("delete from sesslib where sid='$sid'", $sess_dbh);
return($r);
}

function sess_gc($maxlifetime) {
global $sess_dbh, $sess_maxlifetime;

$r=mysql_query("delete from sesslib where unix_timestamp(now())-unix_timestamp(time)>$sess_maxlifetime", $sess_dbh);
return mysql_affected_rows($sess_dbh);
}

session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");

?>

這樣一來,安全多了......

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 久草久草久草久草 | 91福利国产在线观一区二区 | 日本www色视频成人免费 | se999se男人最爱| 中文字幕欧美日韩一 | 欧美成人禁片在线观看网址 | 久久天天拍天天爱天天躁 | 热久久综合网 | 日本xxxxxx片免费播放18 | 久久一精品 | 欧美日韩一本二本 | 高清中文字幕视频在线播 | 2019天天操天天干天天透 | 四虎在线网址 | 日本久久久久 | 午夜影院在线观看视频 | 天天干天天操天天爽 | 亚洲综合色婷婷 | 久久精品区 | 五月婷婷丁香在线视频 | 91视频最新地址 | 在线一区播放 | 网友自拍视频悠悠在线 | 浮力国孚力国产限制第1 | 国产精品视频久久久久 | 夭天干天天做天天免费看 | 日本在线免费播放 | 欧美 自拍偷拍 | 天天干国产| 国产精品国产亚洲精品看不卡 | 日韩每日更新 | 国产成人yy精品1024在线 | 日韩欧美在线精品 | 欧美在线观看视频网站 | 中文字幕最新中文字幕中文字幕 | 亚洲精品98久久久久久中文字幕 | 亚洲国产精品一区 | 久久国产免费一区 | 国产精品拍拍拍福利在线观看 | 欧美ⅹ免费视频 | 国产精品无码久久久久 |