婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php實現多站點共用session實現單點登錄的方法詳解

php實現多站點共用session實現單點登錄的方法詳解

熱門標簽:廣州防封卡外呼系統多少錢一個月 外呼系統撥打暫時無法接通 長春人工外呼系統服務商 高德地圖標注家 怎么向銷售公司推銷外呼系統 江西手機自動外呼防封系統是什么 仁和怎么申請400開頭的電話 廣東地市地圖標注 哪里辦理400電話

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

最近閑來無事,總結整理下單點登錄的問題。

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

單點登錄分為兩種情況:

一、站點部署在同一個服務器,且使用同一個二級域名

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

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

2、其次解決站點在服務端的session信息的共享。因為站點在同一個服務器,所以生成的session文件是可以公用的,可以直接使用sessionid獲取對應的session信息。

二、站點部署在不同的服務器,使用不同域名

這種情況比較復雜,因為站點在不同服務器使用不同域名,在客戶端不能使用ini_set設置cookie的作用域,在服務器端也是各自生成自己的session文件,不能共用,但還是用解決的辦法。

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

假設我們有三個站點,域名分別是aa.com,bb.com,cc.com。我們在aa.com上建立一個共用的登陸入口login.php,三個網站的登陸請求全部跳轉到該頁面。代碼流程如下:

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

在登陸成功html提示頁面中添加如下代碼,利用iframe標簽請求需要同步登陸的站點

aa.com和cc.com站點的set_cookie.php文件如下

//解密$key
decode($key);
//把當前站點的sessionid設置為傳遞的sessionid
session_id($_GET['sessionid']);
session_start();

2、解決三個站點服務器端共享session的問題。

前面已經說過,因為三個站點不在同一個服務器,因此會生成各自的session文件,如果想要共享這些文件,又面臨跨域等一系列問題。所以我們轉化思路,不使用文件保存session信息,而是把session信息保存到數據庫中。這樣,只要獲得session信息的sessionid,任何站點都可以訪問相同的session信息。

我們創建一個mysql_session.php文件,用于存儲session信息到數據庫,代碼如下

$gb_DBname="test";            //數據庫名稱
$gb_DBuser="root";            //數據庫用戶名稱
$gb_DBpass="";              //數據庫密碼
$gb_DBHOSTname="127.0.0.1";        //主機的名稱或是IP地址
$SESS_DBH="";              //數據庫對象
session_module_name("User");      //定義session存儲按用戶定義的方式
$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信息的數據表名為: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的頁面中,在session_start()之前引入該文件,其他的跟平時使用seesion一樣就可以了。你會發現你賦值的session已經被存進了數據庫中。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP中cookie用法總結》、《php緩存技術總結》、《PHP數組(Array)操作技巧大全》、《PHP網絡編程技巧總結》及《php字符串(string)用法總結》

希望本文所述對大家PHP程序設計有所幫助。

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

標簽:三亞 鷹潭 赤峰 迪慶 濟寧 烏魯木齊 山南 南寧

巨人網絡通訊聲明:本文標題《php實現多站點共用session實現單點登錄的方法詳解》,本文關鍵詞  php,實現,多,站點,共用,session,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php實現多站點共用session實現單點登錄的方法詳解》相關的同類信息!
  • 本頁收集關于php實現多站點共用session實現單點登錄的方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本精品视频一区二区三区| 国产成人精品一区二区三区网站观看| 亚洲欧美区自拍先锋| 国产在线一区二区| 欧美一区中文字幕| 亚洲成人一二三| 91久久国产最好的精华液| 亚洲免费看黄网站| 欧美猛男男办公室激情| 日韩不卡在线观看日韩不卡视频| www.欧美日韩国产在线| 亚洲影院久久精品| 欧美日本在线看| 久国产精品韩国三级视频| 欧美一区二区网站| 国产乱一区二区| 欧美韩日一区二区三区四区| 国产精品18久久久久久久网站| 欧美成va人片在线观看| 成人看片黄a免费看在线| 亚洲视频一区二区免费在线观看| 欧美日韩黄色一区二区| 久久精品国产亚洲一区二区三区| 国产精品第四页| 91精品国产综合久久精品图片| 婷婷久久综合九色国产成人| 精品捆绑美女sm三区| 91在线观看地址| 亚洲国产成人av网| 国产亚洲欧美日韩在线一区| 日本高清免费不卡视频| www成人在线观看| 亚洲激情自拍偷拍| 久久亚洲精华国产精华液| av在线播放成人| 精品制服美女久久| 亚洲综合色婷婷| 欧美高清在线精品一区| 日韩精品一区二区三区在线| 91玉足脚交白嫩脚丫在线播放| 天天免费综合色| 亚洲欧美另类久久久精品2019| 欧美一区二区网站| 色av成人天堂桃色av| 国产精品99久久久| 日韩在线观看一区二区| 亚洲男同性视频| 国产亚洲精品资源在线26u| 欧美日韩的一区二区| 99精品在线免费| 国产福利精品一区二区| 日韩激情一二三区| 调教+趴+乳夹+国产+精品| 亚洲欧美怡红院| 亚洲国产高清aⅴ视频| 精品乱码亚洲一区二区不卡| 91精品国产免费| 在线观看日韩av先锋影音电影院| 色老头久久综合| 91网上在线视频| jlzzjlzz欧美大全| 91网址在线看| 99riav一区二区三区| 成人一区二区三区| 国产精品白丝av| 国产综合色产在线精品 | 国产+成+人+亚洲欧洲自线| 日韩av午夜在线观看| 婷婷成人综合网| 视频一区二区国产| 亚洲精品成人少妇| 亚洲人成电影网站色mp4| 欧美激情综合网| 欧美国产日韩亚洲一区| 久久综合九色综合欧美98| 日韩欧美国产综合一区| 91精品国产黑色紧身裤美女| 95精品视频在线| 欧美在线观看视频一区二区| 欧美日韩高清影院| 欧美日韩精品二区第二页| 91精彩视频在线观看| 色噜噜狠狠色综合中国| 欧美视频在线一区二区三区 | 日韩av在线发布| 欧美性猛交xxxxxx富婆| 久久99在线观看| 日本大胆欧美人术艺术动态| 亚洲综合久久av| 三级不卡在线观看| 国产一区二区在线影院| 91在线观看免费视频| 欧美日韩精品电影| 国产女主播一区| 亚洲综合网站在线观看| 麻豆精品国产91久久久久久| 国产成人综合视频| 国产精品色呦呦| 午夜成人免费视频| 成人av资源在线观看| 欧美一区二区久久| 国产精品国产三级国产三级人妇 | 欧美主播一区二区三区美女| 欧美一区午夜视频在线观看| 久久精品水蜜桃av综合天堂| 一区二区三区免费看视频| 日韩欧美一区二区在线视频| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产精品一区二区www | 日韩一区二区免费电影| 精品免费国产一区二区三区四区| 中文字幕一区不卡| 日本不卡一区二区| 97se亚洲国产综合自在线不卡| 欧美一级黄色大片| 亚洲免费观看高清完整版在线观看| 免费久久99精品国产| av激情亚洲男人天堂| 精品久久国产字幕高潮| 亚洲一区免费视频| 久久国产日韩欧美精品| 欧美影院一区二区| 国产精品人成在线观看免费| 麻豆精品在线视频| 9191精品国产综合久久久久久| 国产精品久久久久永久免费观看| 亚洲欧洲精品天堂一级 | av在线不卡观看免费观看| 精品91自产拍在线观看一区| 亚洲电影视频在线| 国产一区不卡精品| 精品国产乱码91久久久久久网站| 天天影视网天天综合色在线播放| 色婷婷av一区二区三区软件| 国产精品久久久久久久岛一牛影视| 麻豆91在线播放免费| 日韩精品最新网址| 久久国产麻豆精品| 日韩视频一区在线观看| 日本亚洲欧美天堂免费| 日韩欧美一级在线播放| 天天色综合天天| 欧美性色欧美a在线播放| 亚洲综合免费观看高清在线观看| 国产成人99久久亚洲综合精品| 在线电影一区二区三区| 亚洲综合激情另类小说区| 色婷婷久久久亚洲一区二区三区| 亚洲天堂免费看| 欧美变态tickling挠脚心| 精品一区二区免费视频| 精品久久久久一区二区国产| 奇米777欧美一区二区| 3atv一区二区三区| 精品一区二区三区日韩| 26uuu久久天堂性欧美| 国产电影一区在线| 欧美激情一区二区三区不卡| 色噜噜夜夜夜综合网| 亚洲二区在线观看| 日韩欧美资源站| 国产91精品在线观看| 亚洲激情图片小说视频| 欧美精品欧美精品系列| 黄页网站大全一区二区| ...中文天堂在线一区| 在线观看精品一区| 国产最新精品免费| 国产精品视频观看| 欧美日韩电影一区| 国产精品女主播av| 日本精品免费观看高清观看| 日本成人在线视频网站| 精品成人a区在线观看| 91亚洲午夜精品久久久久久| 日韩黄色片在线观看| 国产精品视频线看| 91精品在线一区二区| 丁香啪啪综合成人亚洲小说| 一区二区三区日韩欧美| 欧美影视一区二区三区| 国产永久精品大片wwwapp| 亚洲精品国产精华液| 久久综合色综合88| 日韩一区二区三区电影在线观看| 成人av在线资源网站| 美腿丝袜在线亚洲一区| 亚洲免费毛片网站| 久久久777精品电影网影网 | 欧美精品乱人伦久久久久久| av一区二区三区在线| 免费成人在线观看| 亚洲视频精选在线| 欧美色视频在线| 国产一区不卡视频| 国产一区在线观看麻豆| 琪琪一区二区三区| 亚洲成人自拍一区| 亚洲精品一卡二卡| 国产精品久久久一区麻豆最新章节|