日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP安全-會話數(shù)據(jù)暴露(二)

瀏覽:168日期:2022-09-11 18:16:51
會話數(shù)據(jù)暴露

當你關(guān)注于防止源碼的暴露時,你的會話數(shù)據(jù)只同樣存在著風險。在默認情況下,SESSION保存在/tmp目錄下。這樣做在很多情形下是很方便的,其中之一是所有用戶都有對/tmp的寫入權(quán)限,這樣Apache同樣也有權(quán)限進行寫入。雖然其他用戶不能直接從shell環(huán)境讀取這些會話文件,但他們可以寫一個簡單的腳本來進行讀取:

<?php

header(’Content-Type: text/plain’);

session_start();

$path = ini_get(’session.save_path’);

$handle = dir($path);

while ($filename = $handle->read())

{

if (substr($filename, 0, 5) == ’sess_’)

{

$data = file_get_contents('$path/$filename');

if (!empty($data))

{

session_decode($data);

$session = $_SESSION;

$_SESSION = array();

echo 'Session [' . substr($filename, 5) . ']n';

print_r($session);

echo 'n--nn';

}

}

}

?>

這個腳本在session.save_path所定義的會話文件保存目錄中搜索以sess_為前綴的文件。找到文件后,即對它的內(nèi)容進行解析并用print_r()函數(shù)顯示它的內(nèi)容。這樣其它開發(fā)者就容易地取得了你的用戶的會話數(shù)據(jù)。

解決這個問題的最好方法是把你的會話數(shù)據(jù)存入用用戶名和密碼保護的數(shù)據(jù)庫中。由于數(shù)據(jù)庫的訪問是受控的,這樣就多了一層額外的保護。通過應用前節(jié)中提及的技巧,數(shù)據(jù)庫可以為你的敏感數(shù)據(jù)提供一個安全的存放地,同時你應該保持警惕,你的數(shù)據(jù)庫安全性正變得越來越重要。

為在數(shù)據(jù)庫中保存會話數(shù)據(jù),首先需要建立一個數(shù)據(jù)表:

CREATE TABLE sessions

(

id varchar(32) NOT NULL,

access int(10) unsigned,

data text,

PRIMARY KEY (id)

);

如果你使用的是MySQL,則表結(jié)構(gòu)描述如下:

mysql> DESCRIBE sessions;

+--------+------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+------------------+------+-----+---------+-------+

| id | varchar(32) | | PRI | | |

| access | int(10) unsigned | YES | | NULL | |

| data | text | YES | | NULL | |

+--------+------------------+------+-----+---------+-------+

如要使會話數(shù)據(jù)能保存在此表中,你需要使用session_set_save_handler( )函數(shù)來編輯PHP的內(nèi)建會話機制:

<?php

session_set_save_handler(’_open’,

’_close’,

’_read’,

’_write’,

’_destroy’,

’_clean’);

?>

Each of these six arguments is the name of a function that you must write. These functions handle the following tasks:

以上的六個參數(shù)每一個都代表著需要你編寫的函數(shù)的名稱,他們對下面的任務進行處理:

l打開會話存儲

l關(guān)閉會話存儲

l讀取會話數(shù)據(jù)

l寫入會話數(shù)據(jù)

l消滅會話數(shù)據(jù)

l清除舊會話數(shù)據(jù)

我有意使用了有意義的名稱,這樣你可以一下看出它們的目的。命名是任意的,但你可能希望用下劃線開頭(如此處所示)或其它的命名約定來防止名稱沖突。下面是這些函數(shù)(使用MySQL)的示例:

<?php

function _open()

{

global $_sess_db;

$db_user = $_SERVER[’DB_USER’];

$db_pass = $_SERVER[’DB_PASS’];

$db_host = ’localhost’;

if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))

{

return mysql_select_db(’sessions’, $_sess_db);

}

return FALSE;

}

function _close()

{

global $_sess_db;

return mysql_close($_sess_db);

}

function _read($id)

{

global $_sess_db;

$id = mysql_real_escape_string($id);

$sql = 'SELECT data

FROM sessions

WHERE id = ’$id’';

if ($result = mysql_query($sql, $_sess_db))

{

if (mysql_num_rows($result))

{

$record = mysql_fetch_assoc($result);

return $record[’data’];

}

}

return ’’;

}

function _write($id, $data)

{

global $_sess_db;

$access = time();

$id = mysql_real_escape_string($id);

$access = mysql_real_escape_string($access);

$data = mysql_real_escape_string($data);

$sql = 'REPLACE

INTO sessions

VALUES (’$id’, ’$access’, ’$data’)';

return mysql_query($sql, $_sess_db);

}

function _destroy($id)

{

global $_sess_db;

$id = mysql_real_escape_string($id);

$sql = 'DELETE

FROM sessions

WHERE id = ’$id’';

return mysql_query($sql, $_sess_db);

}

function _clean($max)

{

global $_sess_db;

$old = time() - $max;

$old = mysql_real_escape_string($old);

$sql = 'DELETE

FROM sessions

WHERE access < ’$old’';

return mysql_query($sql, $_sess_db);

}

?>

你必須要在session_start( )之前調(diào)用session_set_save_handler( )函數(shù),但你可以在任何地方對這些函數(shù)本身進行定義。

這個流程的漂亮之處在于你無須對代碼進行編輯或變化使用會話的方式。$_SESSION依然存在,行為依舊,還是由PHP來產(chǎn)生與傳遞會識標識,對有關(guān)會話的配置變更同樣還會生效。所有你需要做的只是調(diào)用這一個函數(shù)(同時建立由它指定的所有函數(shù)),PHP就會照顧余下的事情。

標簽: PHP
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲黄色网址| 国产一区二区三区黄网站| 欧美视频久久| 日韩和欧美一区二区三区| 伊人久久一区| 欧美日韩国产免费观看| 亚洲一区日韩| 蜜臀精品一区二区三区在线观看 | 欧美 日韩 国产一区二区在线视频| 免费一级欧美片在线观看网站 | 久久国产精品久久w女人spa| 国产精品v日韩精品v欧美精品网站| 黑丝一区二区三区| 在线精品亚洲| 免费日韩一区二区三区| 日韩av在线中文字幕| 欧美高清不卡| 亚洲理论在线| 国产精品第一| 99久久亚洲精品| 中文亚洲免费| 日本va欧美va瓶| 国产欧美一区| 欧美国产中文高清| 欧美在线亚洲综合一区| 日韩成人在线看| 欧美黑人巨大videos精品| 免费一级欧美片在线观看网站| 国产成人a视频高清在线观看| 国产美女高潮在线观看| 91精品蜜臀一区二区三区在线| 日韩视频在线一区二区三区 | 亚洲日韩视频| 欧美三区四区| 国产精品色在线网站| 99国产一区| 成人欧美一区二区三区的电影| 亚洲欧美日韩专区| 国产盗摄——sm在线视频| 日韩在线观看一区二区| 成人综合一区| 国产欧美日韩| 亚洲精品日韩久久| 影音先锋久久| 丝袜美腿诱惑一区二区三区| 欧美国产免费| 国产亚洲一区二区三区啪| 欧美日韩国产一区二区三区不卡 | 日韩有码av| 欧美日韩国产欧| 国产美女高潮在线观看| 国产伦理久久久久久妇女| 亚洲免费高清| 日韩中文在线电影| 国产精品亚洲欧美日韩一区在线| 国产一区国产二区国产三区| 欧美日韩国产一区二区在线观看| 亚洲欧美日韩国产综合精品二区| 久久三级视频| 在线日韩视频| 一本一道久久a久久精品蜜桃| 91精品国产乱码久久久久久久 | 国产日韩一区二区三免费高清 | 天使萌一区二区三区免费观看| 在线视频日韩| 免费在线观看视频一区| 99视频一区| 91成人超碰| 天堂成人免费av电影一区| 综合国产视频| 国产精品一区免费在线| 国产欧美自拍一区| 粉嫩av一区二区三区四区五区| 成人综合一区| 亚洲欧洲一区| 日本aⅴ免费视频一区二区三区| 国产欧美日韩视频在线 | 精品中文字幕一区二区三区| 精品国产免费人成网站| 欧美丝袜一区| 免费久久精品视频| 18国产精品| 三上悠亚国产精品一区二区三区| 波多野结衣一区| 欧美中文高清| 欧美午夜精品一区二区三区电影| 老鸭窝亚洲一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 国产福利一区二区精品秒拍 | 婷婷综合网站| 国产亚洲久久| 亚洲黄色在线| 欧美激情网址| 日韩制服丝袜av| 天堂中文av在线资源库 | 日韩国产激情| 久久精品 人人爱| 999久久久国产精品| 色8久久久久| 亚洲精品**中文毛片| 亚洲图片久久| 亚洲电影在线| 激情黄产视频在线免费观看| 午夜性色一区二区三区免费视频| 99久久99久久精品国产片果冰| 国产乱人伦精品一区| 国产精品日本| 久久精品观看| 岛国av在线网站| 国产精品毛片久久久| 日日摸夜夜添夜夜添国产精品| 日韩在线第七页| 激情久久99| 精品深夜福利视频| 国产福利一区二区三区在线播放| 丝袜美腿亚洲色图| 在线亚洲精品| 中国女人久久久| 国产一级一区二区| 黄色不卡一区| 亚洲精品国产偷自在线观看| 国产在线不卡| 99综合视频| 蜜桃视频第一区免费观看| 国产精品试看| 少妇精品久久久一区二区三区| 男人天堂欧美日韩| 日韩欧美中文在线观看| 日韩美女精品| 美女国产一区二区三区| 久久丁香四色| 麻豆视频在线看| 欧美日韩在线二区| 另类av一区二区| 日韩国产欧美在线播放| 欧美日本一区| 亚洲午夜天堂| 99riav1国产精品视频| 免费人成黄页网站在线一区二区| 人人精品人人爱| 国产乱子精品一区二区在线观看 | 日韩精品成人| 日韩国产一区二| 中文字幕日韩亚洲| 日韩高清一区| 国产黄色一区| 亚洲黑丝一区二区| 亚洲免费一区三区| 国产日韩欧美一区| 成人亚洲精品| 五月天久久久| 日韩区一区二| 激情不卡一区二区三区视频在线| 久久精品卡一| 日韩在线观看中文字幕| 久久精品国产久精国产| 桃色一区二区| 日韩久久一区| 中文另类视频| 日韩在线网址| 国产一区二区三区四区| 欧美中文字幕一区二区| 日韩中文欧美在线| 久久都是精品| 欧美色图国产精品| 午夜国产一区二区| 日韩黄色av| 91精品啪在线观看国产18| 日韩在线一区二区| 四虎成人av| 日韩一区二区三免费高清在线观看 | 欧美激情视频一区二区三区在线播放| 国产精品主播在线观看| 午夜欧美巨大性欧美巨大| 综合激情一区| 欧美二三四区| 日韩高清不卡一区| 午夜欧美精品久久久久久久| 国产乱人伦丫前精品视频| 午夜国产一区二区| 久久久久久婷| 国产亚洲一卡2卡3卡4卡新区| 影视先锋久久| 日韩专区精品| 国产精品巨作av| 日韩欧美久久| 亚洲在线成人| 黄色成人在线网址| 丝袜美腿诱惑一区二区三区 | 欧美13videosex性极品| 日本激情一区| 国产精品欧美在线观看| 亚洲综合五月| 亚洲伊人精品酒店| 久久av在线| 巨乳诱惑日韩免费av| 欧美搞黄网站| 婷婷国产精品| 欧美精品一区二区久久| 亚洲www免费|