日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
使用Yii2怎么實(shí)現(xiàn)session跨域名共存-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)使用Yii2怎么實(shí)現(xiàn)session跨域名共存,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)專(zhuān)注于博山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供博山營(yíng)銷(xiāo)型網(wǎng)站建設(shè),博山網(wǎng)站制作、博山網(wǎng)頁(yè)設(shè)計(jì)、博山網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造博山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供博山網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

無(wú)論是一二級(jí)域名,和不同域名下的跨域,無(wú)非要達(dá)到兩點(diǎn):


  • 客戶端訪問(wèn)同一個(gè)sessionId,


  • 所有域名對(duì)應(yīng)的服務(wù)器訪問(wèn)的session的數(shù)據(jù)的位置必須一致。


1.訪問(wèn)共同的sessionId主要是通過(guò)把當(dāng)前的sessionId寫(xiě)進(jìn)cookie里面

cookie在不同域名下是不能訪問(wèn)的,我們需要在訪問(wèn)在后臺(tái)設(shè)置用戶在登錄的時(shí)候,把需要共用的登錄信息的域名,如果是在1,2級(jí)域名下,直接把cookie設(shè)置為所屬主域名,例如:

setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".a.com");

也許你會(huì)問(wèn):如果是在不同的域名呢?采用P3P技術(shù)簡(jiǎn)單解決,實(shí)現(xiàn)原理,在訪問(wèn)網(wǎng)站x.com的時(shí)候,y.com程序觸發(fā)y.com文件的寫(xiě)入sessionid值,sessionid值便可以獲取,然后把seesion值存入數(shù)據(jù)庫(kù),取相同的sessionid值便可。這就要求y.com里面的程序文件必需能跨域訪問(wèn),默認(rèn)情況下,瀏覽器是不能跨域設(shè)置cookie的,加上p3p頭后才行。在對(duì)應(yīng)php文件加上:header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');

2.session數(shù)據(jù)存儲(chǔ)位置一致的實(shí)現(xiàn)方法


session該數(shù)據(jù)默認(rèn)情況下是存放在服務(wù)器的tmp文件下的,是以文件形式存在,而非存儲(chǔ)在服務(wù)器的內(nèi)存中,在這里我們得修改為所有域下都能訪問(wèn)的方式。網(wǎng)上介紹了數(shù)據(jù)庫(kù)存儲(chǔ),文件形式存儲(chǔ),內(nèi)存存儲(chǔ), 如果用數(shù)據(jù)庫(kù)存儲(chǔ)session數(shù)據(jù),網(wǎng)站的訪問(wèn)量很大的話,SESSION 的讀寫(xiě)會(huì)頻繁地對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,效率就會(huì)明顯降低,可以考慮存在內(nèi)存服務(wù)器來(lái)實(shí)現(xiàn),下面的session.rar里面介紹的是數(shù)據(jù)庫(kù)存session的實(shí)例。

在yii2下 處理這中問(wèn)題,根據(jù)網(wǎng)上搜到的教程 終配置成功教程如下:


在frontend的config文件夾中main.php中配置

$host = explode('.', $_SERVER["HTTP_HOST"]);
if (count($host) > 2) {
  define('DOMAIN', $host[1] . '.' . $host[2]);
} else {
  define('DOMAIN', $host[0] . '.' . $host[1]);
}
define('DOMAIN_HOME', 'www.' . DOMAIN);
define('DOMAIN_USER_CENTER', 'man.' . DOMAIN);
define('DOMAIN_API', 'api.' . DOMAIN);
define('DOMAIN_EMAIL', 'mail.' . DOMAIN);
define('DOMAIN_LOGIN', 'login.' . DOMAIN);
define('DOMAIN_IMG', 'img.' . DOMAIN);

然后配置User 和 Session:

'user' => [
  'enableAutoLogin' => true,
  'identityCookie' => ['name' => '_identity', 'httpOnly' => true, 'domain' => '.' . DOMAIN],
],
'session' => [
  'cookieParams' => ['domain' => '.' . DOMAIN, 'lifetime' => 0],
  'timeout' => 3600,
],

這里在配置項(xiàng)的user和session里 我把domain寫(xiě)死了例如:'domain'=>'.baidu.com',這樣就不用判斷了.


關(guān)于使用Yii2怎么實(shí)現(xiàn)session跨域名共存就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章題目:使用Yii2怎么實(shí)現(xiàn)session跨域名共存-創(chuàng)新互聯(lián)
鏈接URL:http://www.dlmjj.cn/article/dsdcjh.html