亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(yè) > 知識(shí)庫(kù) > php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解

php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解

熱門標(biāo)簽:廣州防封卡外呼系統(tǒng)多少錢一個(gè)月 外呼系統(tǒng)撥打暫時(shí)無(wú)法接通 長(zhǎng)春人工外呼系統(tǒng)服務(wù)商 高德地圖標(biāo)注家 怎么向銷售公司推銷外呼系統(tǒng) 江西手機(jī)自動(dòng)外呼防封系統(tǒng)是什么 仁和怎么申請(qǐng)400開頭的電話 廣東地市地圖標(biāo)注 哪里辦理400電話

本文實(shí)例講述了php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法。分享給大家供大家參考,具體如下:

最近閑來無(wú)事,總結(jié)整理下單點(diǎn)登錄的問題。

單點(diǎn)登錄的基本原理為:客戶端共享sesionid,服務(wù)器端共享session信息。通過共同的sessionid在服務(wù)器端獲得相同session信息,即可達(dá)到單點(diǎn)登錄(即多站點(diǎn)共享用戶信息,一處登錄,處處可用)的目的。

單點(diǎn)登錄分為兩種情況:

一、站點(diǎn)部署在同一個(gè)服務(wù)器,且使用同一個(gè)二級(jí)域名

這種情況下,比較好解決。

1、首先解決站點(diǎn)在客戶端sessionid(存在cookie中)的共享問題。使用ini_set()函數(shù)即可指定cookie的域,如下: ini_set('session.cookie_domain', '.xxxx.com');//設(shè)置服務(wù)器cookie的域,xxxx為公用二級(jí)域名

2、其次解決站點(diǎn)在服務(wù)端的session信息的共享。因?yàn)檎军c(diǎn)在同一個(gè)服務(wù)器,所以生成的session文件是可以公用的,可以直接使用sessionid獲取對(duì)應(yīng)的session信息。

二、站點(diǎn)部署在不同的服務(wù)器,使用不同域名

這種情況比較復(fù)雜,因?yàn)檎军c(diǎn)在不同服務(wù)器使用不同域名,在客戶端不能使用ini_set設(shè)置cookie的作用域,在服務(wù)器端也是各自生成自己的session文件,不能共用,但還是用解決的辦法。

1、首先解決客戶端sessionid同步問題。

假設(shè)我們有三個(gè)站點(diǎn),域名分別是aa.com,bb.com,cc.com。我們?cè)赼a.com上建立一個(gè)共用的登陸入口login.php,三個(gè)網(wǎng)站的登陸請(qǐng)求全部跳轉(zhuǎn)到該頁(yè)面。代碼流程如下:

$back = login($name,$pwd);//執(zhí)行登陸操作,成功就寫入session
//如果登錄成功,進(jìn)行以下操作流程
if($back){
  $sessionid = session_id();
  $key = encode($session,$keyword);//生成安全碼
  //輸出一個(gè)登陸成功提示頁(yè),并跳轉(zhuǎn)到請(qǐng)求登陸的站點(diǎn)
}

在登陸成功html提示頁(yè)面中添加如下代碼,利用iframe標(biāo)簽請(qǐng)求需要同步登陸的站點(diǎn)

aa.com和cc.com站點(diǎn)的set_cookie.php文件如下

//解密$key
decode($key);
//把當(dāng)前站點(diǎn)的sessionid設(shè)置為傳遞的sessionid
session_id($_GET['sessionid']);
session_start();

2、解決三個(gè)站點(diǎn)服務(wù)器端共享session的問題。

前面已經(jīng)說過,因?yàn)槿齻€(gè)站點(diǎn)不在同一個(gè)服務(wù)器,因此會(huì)生成各自的session文件,如果想要共享這些文件,又面臨跨域等一系列問題。所以我們轉(zhuǎn)化思路,不使用文件保存session信息,而是把session信息保存到數(shù)據(jù)庫(kù)中。這樣,只要獲得session信息的sessionid,任何站點(diǎn)都可以訪問相同的session信息。

我們創(chuàng)建一個(gè)mysql_session.php文件,用于存儲(chǔ)session信息到數(shù)據(jù)庫(kù),代碼如下

$gb_DBname="test";            //數(shù)據(jù)庫(kù)名稱
$gb_DBuser="root";            //數(shù)據(jù)庫(kù)用戶名稱
$gb_DBpass="";              //數(shù)據(jù)庫(kù)密碼
$gb_DBHOSTname="127.0.0.1";        //主機(jī)的名稱或是IP地址
$SESS_DBH="";              //數(shù)據(jù)庫(kù)對(duì)象
session_module_name("User");      //定義session存儲(chǔ)按用戶定義的方式
$SESS_LIFE=get_cfg_var("session.gc_maxlifetime");//得到session的最大有效期,也可以自定義
function sess_open($save_path,$session_name)
{
  global $gb_DBHOSTname,$gb_DBname,$gb_DBuser,$gb_DBpass,$SESS_DBH;
  if(!$SESS_DBH=mysql_pconnect($gb_DBHOSTname,$gb_DBuser,$gb_DBpass)){
  echo "MySql Error:".mysql_error()."";
  die();
  }
  if(!mysql_select_db($gb_DBname,$SESS_DBH)){
  echo "MySql Error:".mysql_error()."";
  die();
  }
  return true;
}
function sess_close(){
return true;
}
function sess_read($key)
{
  global $SESS_DBH,$SESS_LIFE;
  $qry="select value from db_session where sesskey = '$key' and expiry > ".time();
  $qid=mysql_query($qry,$SESS_DBH);
  if(list($value)=mysql_fetch_row($qid)){
  return $value;
  }
  return false;
}
//寫入session信息。保存session信息的數(shù)據(jù)表名為:db_session
//除了主鍵自增id,需要的字段如下
//sesskey  sessionid
//values  session值
//expiry  session的到期日期
function sess_write($key,$val)
{
  global $SESS_DBH,$SESS_LIFE;
  $expiry=time()+$SESS_LIFE;
  $value=$val;
  $qry="insert into db_session values('$key',$expiry,'$value')";
  $qid=mysql_query($qry,$SESS_DBH);
  if(!$qid){
  $qry="update db_session set expiry=$expiry, value='$value' where sesskey='$key' and expiry >".time();
  $qid=mysql_query($qry,$SESS_DBH);
  }
  return $qid;
}
function sess_destroy($key)
{
  global $SESS_DBH;
  $qry="delete from db_session where sesskey = '$key'";
  $qid=mysql_query($qry,$SESS_DBH);
  return $qid;
}
function sess_gc($maxlifetime)
{
  global $SESS_DBH;
  $qry="delete from db_session where expiry  ".time();
  $qid=mysql_query($qry,$SESS_DBH);
  return mysql_affected_rows($SESS_DBH);
}
session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_gc");

之后在需要使用session的頁(yè)面中,在session_start()之前引入該文件,其他的跟平時(shí)使用seesion一樣就可以了。你會(huì)發(fā)現(xiàn)你賦值的session已經(jīng)被存進(jìn)了數(shù)據(jù)庫(kù)中。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP中cookie用法總結(jié)》、《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》及《php字符串(string)用法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • php7 list()、session及其他模塊的修改實(shí)例分析
  • PHP7創(chuàng)建銷毀session的實(shí)例方法
  • PHP 圖像處理與SESSION制作超簡(jiǎn)單驗(yàn)證碼的方法示例
  • PHP 實(shí)現(xiàn)超簡(jiǎn)單的SESSION與COOKIE登錄驗(yàn)證功能示例
  • PHP cookie與session會(huì)話基本用法實(shí)例分析
  • 如何解決PHP獲取不到SESSION信息之一般情況
  • thinkphp 5框架實(shí)現(xiàn)登陸,登出及session登陸狀態(tài)檢測(cè)功能示例
  • PHP實(shí)現(xiàn)cookie跨域session共享的方法分析
  • PHP使用Session實(shí)現(xiàn)上傳進(jìn)度功能詳解
  • PHP SESSION跨頁(yè)面?zhèn)鬟f失敗解決方案

標(biāo)簽:三亞 鷹潭 赤峰 迪慶 濟(jì)寧 烏魯木齊 山南 南寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解》,本文關(guān)鍵詞  php,實(shí)現(xiàn),多,站點(diǎn),共用,session,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产极品精频在线观看| 成人免费网站视频ww| 91麻豆国产级在线| 99色视频在线观看| 91麻豆精品国产自产在线| 亚洲wwwwww| 午夜激情视频在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 免费一级片网站| 日本免费看视频| 国产高清在线精品一区二区 | 色综合久久天天综合绕观看| 日韩一级黄色| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美一区二区三区性| 精品美女| 成人免费观看视频| 欧美一区二区三区性| 欧美日本国产| 国产不卡在线看| 久久99中文字幕| 国产一区精品| 九九久久99| 国产福利免费观看| 成人免费一级毛片在线播放视频| 黄视频网站在线看| 国产一区二区精品久| 国产一区二区福利久久| 欧美大片aaaa一级毛片| 欧美一区二区三区性| 韩国毛片 免费| 日韩免费在线观看视频| 99色吧| 国产精品免费久久| 欧美激情一区二区三区中文字幕| 香蕉视频亚洲一级| 午夜在线亚洲| 久草免费在线色站| 中文字幕97| 国产麻豆精品高清在线播放| 亚欧成人乱码一区二区| 日本免费区| 久久国产一久久高清| 日韩一级黄色| 亚欧成人毛片一区二区三区四区| 精品国产香蕉在线播出| 国产视频一区二区在线观看| 欧美激情在线精品video| 成人高清视频在线观看| 久草免费在线视频| 久久成人亚洲| 国产一区二区精品久| 国产a免费观看| 黄视频网站在线看| 欧美一级视频免费观看| 黄色免费三级| 麻豆系列国产剧在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产精品自拍在线观看| 久久精品成人一区二区三区| 欧美爱色| 精品久久久久久中文字幕一区| 99色视频在线观看| 国产美女在线一区二区三区| 国产一区二区精品久久91| 欧美激情影院| 九九久久99综合一区二区| 欧美国产日韩精品| 国产极品精频在线观看| 午夜家庭影院| 韩国妈妈的朋友在线播放| 久久成人性色生活片| 欧美a级大片| 日韩在线观看视频免费| 九九精品影院| 成人高清视频免费观看| 欧美激情中文字幕一区二区| 午夜精品国产自在现线拍| 99久久精品国产国产毛片| 久草免费资源| 国产视频久久久久| 午夜激情视频在线播放| a级黄色毛片免费播放视频| 日日夜夜婷婷| 亚洲不卡一区二区三区在线| 色综合久久手机在线| 欧美另类videosbestsex高清| 日韩男人天堂| 欧美一级视频免费观看| 四虎影视久久久免费| 青青青草影院| 国产高清在线精品一区a| 毛片高清| 久久精品成人一区二区三区| 91麻豆精品国产高清在线| 免费国产在线视频| 国产美女在线观看| 成人av在线播放| 久草免费资源| 精品视频在线观看一区二区| 麻豆系列国产剧在线观看| 日日夜人人澡人人澡人人看免| 日韩一级黄色片| 麻豆午夜视频| 欧美大片a一级毛片视频| 日本特黄特色aaa大片免费| 日韩免费片| 四虎影视久久久免费| 亚洲第一页乱| 成人免费网站久久久| 毛片的网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产a网| 日韩在线观看免费完整版视频| 九九久久99| 999精品视频在线| a级黄色毛片免费播放视频| 国产91视频网| 99久久精品国产高清一区二区| 日本特黄特黄aaaaa大片| 亚洲 欧美 成人日韩| 黄视频网站免费| 沈樵在线观看福利| 亚欧乱色一区二区三区| 国产一级强片在线观看| 欧美另类videosbestsex久久| 亚欧视频在线| 青草国产在线| 免费的黄视频| 深夜做爰性大片中文| 日韩av成人| 精品在线观看一区| 国产成a人片在线观看视频| 麻豆网站在线免费观看| 精品视频一区二区三区| 高清一级毛片一本到免费观看| 国产欧美精品| 国产一区二区精品| 999久久66久6只有精品| 日韩女人做爰大片| 二级特黄绝大片免费视频大片| 国产不卡精品一区二区三区| 久久国产一久久高清| 黄色免费网站在线| 国产视频在线免费观看| 国产成人精品综合在线| a级精品九九九大片免费看| 国产一区二区精品尤物| 精品视频一区二区三区免费| 99久久网站| 久久久成人网| 国产不卡福利| 久久精品免视看国产成人2021| 免费一级片网站| 高清一级片| 精品国产亚洲人成在线| 日韩av片免费播放| 精品在线观看一区| 国产亚洲免费观看| 日韩免费片| 99久久精品国产片| 久久精品免视看国产明星| 日韩免费在线观看视频| 精品视频免费观看| 国产视频一区在线| 国产视频在线免费观看| 九九热精品免费观看| 韩国毛片免费大片| 九九免费高清在线观看视频| a级毛片免费观看网站| 午夜在线影院| 国产a网| 成人高清视频免费观看| 精品国产亚一区二区三区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美大片a一级毛片视频| 成人高清视频在线观看| 久草免费在线视频| 国产麻豆精品视频| 亚洲精品影院| a级毛片免费全部播放| 日韩av片免费播放| 国产不卡在线看| 国产网站免费| 日韩女人做爰大片| 日本在线不卡视频| a级黄色毛片免费播放视频| 99热热久久| 国产麻豆精品视频| 中文字幕Aⅴ资源网| 深夜做爰性大片中文| 91麻豆爱豆果冻天美星空| 午夜久久网| 天天色色色| 日韩专区亚洲综合久久| 日本特黄特色aaa大片免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品国产香蕉在线播出 | 精品国产亚一区二区三区| 久久精品欧美一区二区|