gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

解析thinkphp withCredentials跨域問題解決思路

解析thinkphp withCredentials跨域問題解決思路

thinkphp withCredentials 跨域問題解決思路

跨域是什么這里就不細(xì)講, 這里主要是thinkphp5.1, 說一下大概的解決思路

首先,因為前端是自己寫的, 在axios配置中, 我設(shè)置了如下

withCredentials: true // 跨域請求時發(fā)送cookie

// 創(chuàng)建一個axios const service = axios.create({   baseURL: URL ,    withCredentials: true, // 跨域請求時發(fā)送cookie   timeout: 5000 // request timeout })

在后端的配置中,配置的是

header("Access-Control-Allow-Origin: *");

故而拋出了這樣一個錯誤

Access to XMLHttpRequest at 'http://store.ink/admin/me?sid=lbn3mpacfb3k1mbehnk9qh8kf3' from origin 'http://vue-admin-web.ink' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

意思大概為 設(shè)置 withCredentialstrue 時, origin 是不允許為 *的, origin必須設(shè)置為來源的地址

也就是 http://a.com 請求 http://b.com 的時候, http://a.com 必須設(shè)置origin 為 http://b.com 才能通過

最后參閱配置如下

 $origin = $_SERVER['HTTP_ORIGIN'] ?? '*';         header("Access-Control-Allow-Origin: $origin");         header('Access-Control-Allow-Credentials: true');         header('Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With');         header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE');         header('Access-Control-Max-Age: 1728000');

當(dāng)然, 為 * 的時候也可以這樣

header("Access-Control-Allow-Origin: *");         header('Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With');         header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE');         header('Access-Control-Max-Age: 1728000');

首先 定義個中間件 php think make:middleware CrossDomain

<?php namespace apphttpmiddleware;  use thinkResponse;   class CrossDomain {     public function handle($request, Closure $next)     {         $origin = $_SERVER['HTTP_ORIGIN'] ?? '*';         header("Access-Control-Allow-Origin: $origin");         header('Access-Control-Allow-Credentials: true');         header('Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With');         header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE');         header('Access-Control-Max-Age: 1728000');          return $next($request);     } }

router.php

Route::group('', function (){     ....     這里寫路由     .... })->middleware(['CrossDomain']);

然后又有一個新問題

因為如上是走的路由文件,當(dāng)請求的url匹配路由的時候, 會走跨域中間件, 當(dāng)大家都知道的是, delete 和 put 等方法是會提前發(fā)起一個options請求的, 也就是無法匹配路由文件,無法走跨域中間件

故而:

定義一個 錯誤異常接管 https://www.kancloud.cn/manual/thinkphp5_1/354092#_42

.... public function render(Exception $e) {     # 這里來處理跨域問題      $origin = $_SERVER['HTTP_ORIGIN'] ?? '*';     header("Access-Control-Allow-Origin: $origin");     header('Access-Control-Allow-Credentials: true');     header('Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With');     header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE');     header('Access-Control-Max-Age: 1728000');     $type = request()->isAjax() ? 'json' : "html";     $response = thinkresponseJson::create([], $type, 200, []);     return $response; # response  // 在異常處理接管中,必須返回的是一個人response響應(yīng), 而不是 `throw new `拋出一個響應(yīng) } ...

完成。

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产又黄又猛视频| 日韩成人三级视频| 午夜激情在线观看视频| 一区二区传媒有限公司| 国产原创中文在线观看| 精品久久久久久中文字幕2017| 免费网站永久免费观看| wwwwww欧美| 999香蕉视频| 亚洲男人天堂2021| 亚洲人成色77777| 激情五月五月婷婷| 少妇黄色一级片| 人妻激情另类乱人伦人妻| 99久久激情视频| 日韩一区二区高清视频| 日本人69视频| 黄色片视频在线播放| www.日本少妇| 强开小嫩苞一区二区三区网站| 色欲色香天天天综合网www| 女同激情久久av久久| 黄色高清无遮挡| 一卡二卡三卡视频| 久草热视频在线观看| 成人高清dvd| 美脚丝袜脚交一区二区| 欧美成人乱码一二三四区免费| 欧美乱做爰xxxⅹ久久久| 91欧美一区二区三区| 成 人 黄 色 小说网站 s色| 啊啊啊国产视频| 久久精品亚洲天堂| 老司机午夜免费福利视频| 欧洲美女和动交zoz0z| 国产三级中文字幕| 国产视频九色蝌蚪| 免费看黄色一级大片| 亚欧激情乱码久久久久久久久| 亚洲综合在线一区二区| 欧美美女黄色网| 亚洲少妇久久久| 日本三日本三级少妇三级66| 日本高清久久久| 伊人成色综合网| 日韩中文字幕组| 日韩中字在线观看| 亚洲娇小娇小娇小| 久久久久久久久久久99| 一区二区xxx| 自慰无码一区二区三区| 热久久久久久久久| 奇米影视四色在线| 国产二区视频在线播放| 国产传媒免费观看| 手机av在线网| 制服丝袜中文字幕第一页| 日本中文字幕在线视频观看| 欧美日韩在线免费播放| 97国产精东麻豆人妻电影| 欧美性受xxxx黑人猛交88| 黄色一级大片在线观看| 国产男女免费视频| 男人j进女人j| 黄色大片在线免费看| 欧美日韩dvd| 成人免费看片'免费看| 色一情一区二区三区| 欧美xxxxx在线视频| 亚洲一区二区三区av无码| 91成人在线观看喷潮教学| www.亚洲视频.com| 亚洲综合色在线观看| 男人天堂999| 潘金莲一级淫片aaaaaa播放1| 粉嫩av一区二区三区天美传媒 | 五月婷婷丁香综合网| 亚洲五月天综合| 香蕉视频色在线观看| 热99这里只有精品| 国产精品夜夜夜爽张柏芝| 久久观看最新视频| 亚洲一区二区三区四区精品| 高清无码一区二区在线观看吞精| 国产盗摄视频在线观看| 男女曰b免费视频| 精品少妇在线视频| 北条麻妃亚洲一区| 婷婷激情四射五月天| 阿v天堂2017| 国产91xxx| 成熟老妇女视频| 国产毛片视频网站| 91好吊色国产欧美日韩在线| 搡的我好爽在线观看免费视频| 日本欧美黄色片| 欧美a在线视频| 五月婷婷六月丁香激情| 3d动漫一区二区三区| 99久久久无码国产精品6| 欧美极品欧美精品欧美图片| 成人性生生活性生交12| 尤物国产在线观看| wwwwww欧美| 欧美日韩在线中文| 亚洲视频第二页| 国产精品av免费观看| ww国产内射精品后入国产| 成人免费观看视频在线观看| 日本一区二区黄色| 国内av一区二区| 成人性生交视频免费观看| 国产又粗又爽又黄的视频| 美女喷白浆视频| 乱熟女高潮一区二区在线| 成人高清dvd| www.这里只有精品| 日本黄大片在线观看| 老太脱裤让老头玩ⅹxxxx| 精品视频无码一区二区三区| 日韩在线视频在线| 免费看污污网站| 老司机午夜免费福利视频| 999在线观看视频| 18视频在线观看娇喘| 国产女人18毛片| 三级在线视频观看| 中国丰满人妻videoshd| 精品人妻一区二区三区四区在线| 欧美自拍小视频| 成人av在线播放观看| 男女视频一区二区三区| 日韩a∨精品日韩在线观看| 99sesese| 国产免费中文字幕| 国产精品99久久久久久大便| 成人免费观看cn| 免费男同深夜夜行网站| 黄网站色视频免费观看| 色爽爽爽爽爽爽爽爽| 能在线观看的av| 午夜视频在线瓜伦| 日韩精品aaa| 草草久久久无码国产专区| 26uuu成人| 久久人妻精品白浆国产| 午夜精品中文字幕| 久久av高潮av| 99蜜桃臀久久久欧美精品网站| 久久久噜噜噜www成人网| 少妇黄色一级片| 久久亚洲国产成人精品无码区 | 中文字幕第50页| 欧美变态另类刺激| 红桃一区二区三区| 国内自拍第二页| 一区二区传媒有限公司| 99re精彩视频| 欧日韩免费视频| 浴室偷拍美女洗澡456在线| 成年人看的毛片| 午夜天堂在线视频| 亚洲福利精品视频| 日韩一区二区三区不卡视频| 日韩精品一区二区免费| 中文字幕日本最新乱码视频| 91午夜在线观看| 国产一区二区网| 日韩精品视频网址| 麻豆视频传媒入口| 人妻无码一区二区三区四区| 国产福利精品一区二区三区| 色片在线免费观看| 视色,视色影院,视色影库,视色网| 伊人再见免费在线观看高清版 | 182午夜在线观看| 亚洲一区二区在线视频观看| 日韩精品―中文字幕| aaaaaa亚洲| 丁香色欲久久久久久综合网| 日韩人妻无码精品久久久不卡| 91黄色在线看| 日本免费黄色小视频| 99999精品视频| 91欧美视频在线| 国产亚洲天堂网| 欧美aaa在线观看| 亚洲免费av一区二区三区| 一区二区三区日韩视频| 国内外免费激情视频| www.欧美日本| 欧美成人xxxxx| 成年女人18级毛片毛片免费| 蜜臀av午夜一区二区三区| 欧洲精品视频在线| 中文字幕天天干| 女人另类性混交zo| 久久无码高潮喷水| 只有这里有精品| 欧洲金发美女大战黑人|