本篇內(nèi)容主要講解“如何實(shí)現(xiàn)session跨域共享”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何實(shí)現(xiàn)session跨域共享”吧!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比慶安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式慶安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋慶安地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
通過(guò)cookie
設(shè)置php.ini中的session.use_trans_sid=1,讓PHP自動(dòng)跨頁(yè)傳遞session id
手動(dòng)通過(guò)url或隱藏表單傳值
用文件或數(shù)據(jù)庫(kù)方式傳遞,在通過(guò)其他key對(duì)應(yīng)取值
數(shù)據(jù)庫(kù)
memcache
共享文件
通過(guò)服務(wù)器(php腳本)
通過(guò)JavaScript
由于,各種原因。我選擇的方案是:
cookie傳遞session_id
文件保存sesson信息
通過(guò)服務(wù)器腳本跨域
啥也不說(shuō)了,上代碼了。這兩段代碼都是用php腳本設(shè)置的
設(shè)置允許跨域的域名:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
$allow_origin = array(
'http://two.google.com', 'http://three.google.com');
header("Access-Control-Allow-Credentials: true");if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}設(shè)置跨域的cookie
if(!isset($_COOKIE['session_idx'])){
$session_id = session_id();
setcookie("session_idx", $session_id, time()+3600*24*365*10, "/", ".google.com");//這里.google.com的作用是讓www.google.com、two.google.com等二級(jí)域名可以共享這可cookie
$_SESSION['userName'] = 'ok';
}else{
session_id($_COOKIE['session_idx']);
}echo $_SESSION['userName'];1.寫好客戶端的js代碼
$("#getCodeBtn").click(function(){ var phone = $("#phoneNum").val();
$.ajax({ type: "POST", url: 'http://www.google.com/index.php/register/getCode', dataType: 'jsonp', data: {'phoneNum':phone, 'crossDomain':true}, xhrFields: { withCredentials: true
}, crossDomain: true, success:function(data){ if(data.responseCode == '101'){
alert('成功');
}else if(data.responseCode == '100'){
alert('失敗');
}
}, error:function(data1, data2, data3){
alert(data1+'--'+data2+'--'+data3);
}
});
});2.寫好服務(wù)器端的代碼
<?php //callback參數(shù)是jquery生成的
$callBack = $_GET['callback'];
$data = array('responseCode'=>'101', 'responseMessage'=>'success'); //下面的格式,才會(huì)被jquery解析
$responseData = $callBack.'('.json_encode($data).')'; echo $responseData;?>到此,相信大家對(duì)“如何實(shí)現(xiàn)session跨域共享”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:如何實(shí)現(xiàn)session跨域共享
轉(zhuǎn)載來(lái)源:http://www.chinadenli.net/article26/piesjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、虛擬主機(jī)、定制開發(fā)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站收錄、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)