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

您的位置:首頁技術文章
文章詳情頁

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

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

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

<?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,則表結構描述如下:

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關閉會話存儲

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)生與傳遞會識標識,對有關會話的配置變更同樣還會生效。所有你需要做的只是調(diào)用這一個函數(shù)(同時建立由它指定的所有函數(shù)),PHP就會照顧余下的事情。

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
午夜电影一区| 成人羞羞视频播放网站| 水蜜桃久久夜色精品一区的特点 | 国产亚洲一区在线| 午夜久久福利| 狠狠干成人综合网| 每日更新成人在线视频| 综合激情网...| 国产精品视频一区二区三区| 欧美激情日韩| 亚洲91精品| 亚洲区欧美区| 国产一区二区三区不卡视频网站| 免费污视频在线一区| 日韩影院免费视频| 国产精品视频一区二区三区四蜜臂 | 欧美精品羞羞答答| 日韩中文字幕麻豆| 精品国内亚洲2022精品成人| 香蕉成人av| 三级亚洲高清视频| 麻豆国产精品| 激情综合自拍| 日本午夜精品| 国产 日韩 欧美一区| 免费国产亚洲视频| 免费一级欧美片在线观看网站| 91日韩欧美| 亚洲精品麻豆| 日韩在线观看一区| 日韩国产一区二| 国产成人精品亚洲日本在线观看| 日韩有吗在线观看| 成人日韩精品| 国产日韩高清一区二区三区在线| 久久精品中文| 国产日韩视频在线| 亚洲精品成人| 在线看片日韩| 日韩精品视频一区二区三区| 国产一区观看| 国产精品magnet| 国产精品一区二区三区www| 欧美在线网站| 欧美精品导航| 日韩精品一二区| 日韩国产激情| 久久国产视频网| 亚洲激情不卡| 日本欧美国产| 国产精品嫩模av在线| 亚洲少妇自拍| 在线手机中文字幕| 日韩成人在线看| 好看的av在线不卡观看| av中文字幕在线观看第一页| 日韩成人午夜精品| 播放一区二区| 久久只有精品| 日韩不卡一二三区| 免费日韩视频| 国产精品99免费看| 日韩天堂在线| 久久久久久自在自线| 国产日韩在线观看视频| 日韩欧美久久| 丝袜亚洲另类欧美| 婷婷成人在线| 老牛影视精品| 久久中文字幕导航| 欧美激情日韩| 国产精品一区三区在线观看| 久久先锋影音| 尹人成人综合网| 欧美aa国产视频| 欧美日韩中文字幕一区二区三区| 国产一区二区三区四区五区 | 亚洲精品护士| 亚洲免费观看| 91久久在线| 亚洲精品在线观看91| 99久久婷婷| 今天的高清视频免费播放成人| 激情综合五月| 国产精品99一区二区三区| 精品国产一区二区三区2021| 久久中文字幕导航| 精品午夜视频| 国产精品精品| 亚洲综合电影| 久久婷婷久久| 999国产精品永久免费视频app| 夜鲁夜鲁夜鲁视频在线播放| 中文字幕在线视频网站| 日本а中文在线天堂| 午夜av不卡| yellow在线观看网址| 黑人精品一区| 亚洲永久av| 激情婷婷综合| 免费人成黄页网站在线一区二区 | 久久精品高清| 午夜久久久久| 亚洲精品伊人| 国产精品任我爽爆在线播放| 国内精品美女在线观看| 日韩不卡视频在线观看| 偷拍欧美精品| 蜜臀久久久久久久| 午夜性色一区二区三区免费视频| 亚洲精选91| 7m精品国产导航在线| 国产黄色一区| 国产精品久久久久久久免费观看 | 亚洲一区黄色| 日韩久久一区| 毛片不卡一区二区| caoporn视频在线| 久久婷婷久久| 综合干狼人综合首页| 国产探花一区二区| 精品久久精品| 欧美日中文字幕| 日本亚洲最大的色成网站www | 欧美一区免费| а√在线中文在线新版| 亚洲高清影视| 日本vs亚洲vs韩国一区三区二区| 美女性感视频久久| 999精品一区| 日韩一区二区三免费高清在线观看 | 午夜国产一区二区| 日韩在线视频一区二区三区| 国产精品白丝久久av网站| 亚洲天堂资源| 亚洲欧美日本国产| av在线最新| 婷婷精品在线| 日韩三区免费| 亚洲日本久久| 超碰99在线| 婷婷成人av| 日韩在线高清| 日本99精品| 久久中文字幕av| 国产欧美另类| 午夜视频精品| 久久精品九色| 日韩制服丝袜av| 日韩综合一区| 日韩欧美久久| 欧美亚洲激情| 欧美交a欧美精品喷水| 国产女优一区| 成人台湾亚洲精品一区二区| 在线看片日韩| 1000部精品久久久久久久久| 国产三级精品三级在线观看国产| 午夜国产一区二区| 成人精品高清在线视频| 中文字幕日韩高清在线| 久久蜜桃精品| 免费在线播放第一区高清av| 在线精品福利| 精品一区免费| 日产精品一区二区| 欧美性www| 亚洲主播在线| 久久麻豆精品| 久久久亚洲欧洲日产| 视频一区日韩精品| 欧美日韩国产在线一区| 高清久久一区| 国产精品www994| 日韩欧美三区| 亚洲综合另类| 久久在线视频免费观看| 91视频精品| 国内自拍视频一区二区三区| 欧美在线首页| 综合亚洲自拍| 日韩在线观看一区二区| 午夜欧美视频| 国产99久久| 久久青青视频| 风间由美中文字幕在线看视频国产欧美 | 久久久久观看| 国产欧美日韩影院| 午夜久久av| 亚洲综合福利| 视频一区在线播放| 日韩在线观看一区二区| 爽爽淫人综合网网站| 欧美女激情福利| 99精品一区| 久久精品不卡| 午夜日韩在线| 一区视频在线| 亚洲国产一区二区三区在线播放| 久久香蕉国产|