欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何實(shí)現(xiàn)session跨域共享

本篇內(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í)體公司更值得信賴。

1.傳遞session_id有4種方法

通過(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)取值

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

數(shù)據(jù)庫(kù)

memcache

共享文件

3.跨域訪問(wèn)的方法

通過(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'];

訪問(wèn)跨域的api時(shí),不附帶cookie問(wèn)題的解決代碼,需要操作兩個(gè)步驟:(使用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');   //下面的格式,才會(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)

成都seo排名網(wǎng)站優(yōu)化