黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 實(shí)現(xiàn)session跨域共享的方法

實(shí)現(xiàn)session跨域共享的方法

更新時間:2022-01-25 11:38:16 來源:動力節(jié)點(diǎn) 瀏覽1331次

要讓session跨域共享,需要解決三個問題:

通過什么方法來傳遞session_id?

通過什么方法來保存session信息?

通過什么方法來進(jìn)行跨域?

1.傳遞session_id有4種方法

通過cookie

設(shè)置php.ini中的session.use_trans_sid=1,讓PHP自動跨頁傳遞session id

手動通過url或隱藏表單傳值

用文件或數(shù)據(jù)庫方式傳遞,在通過其他key對應(yīng)取值

2.保存session信息有3種方法

數(shù)據(jù)庫

memcache

共享文件

3.跨域訪問的方法

通過服務(wù)器(php腳本)

通過JavaScript

由于,各種原因。我選擇的方案是:

cookie傳遞session_id

文件保存sesson信息

通過服務(wù)器腳本跨域

啥也不說了,上代碼了。這兩段代碼都是用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等二級域名可以共享這可cookie
    $_SESSION['userName'] = 'ok';
}else{
    session_id($_COOKIE['session_idx']);
}
echo $_SESSION['userName'];

訪問跨域的api時,不附帶cookie問題的解決代碼,需要操作兩個步驟:(使用jquery的ajax方法)

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');   //下面的格式,才會被jquery解析
    $responseData = $callBack.'('.json_encode($data).')';
    echo $responseData;
?>

這種方案,有不能跨服務(wù)器的缺陷。跨域還有些坑,有待發(fā)掘。如果您想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容全面細(xì)致,適合沒有基礎(chǔ)的小白學(xué)習(xí),希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最近免费最新高清中文字幕韩国 | 青草福利在线 | 日本黄色三级视频 | 国产精品久久久久久免费 | 欧美日韩一日韩一线不卡 | 亚洲人色大成年网站在线观看 | 国产在线视频专区 | 亚洲不卡免费视频 | 97免费视频免费视频 | 成年人小视频在线观看 | 午夜影院在线观看免费 | 亚洲国产精品自产在线播放 | 国产高清在线a视频大全 | 日韩欧美三区 | 午夜特片网 | 欧美成人福利视频 | 一个人看的www在线高清 | 日韩精品成人 | 天天操天天干天搞天天射 | 涩涩免费网站 | yellow中文字幕久久网 | 国产欧美网站 | 美女视频永久黄网站免费观看国产 | 免费看一级黄色片 | 男女做羞羞的网站视频 | 国产国产成人精品久久 | 国内精品综合九九久久精品 | 日韩在线视频在线 | 亚洲区一二三四区2021 | 日韩欧美色视频在线观看 | 午夜va| yy午夜私人影院免费 | 国产日韩欧美在线观看不卡 | 激情五月激情综合网 | 久久夜夜肉肉热热日日 | aaa黑人一级毛片 | 免费国产黄网站在线观看 | 久久国产精品1区2区3区网页 | 中文字幕一区在线观看 | 色88888久久久久久影院 | 在线看片成人 |