久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

laravel如何開啟跨域功能示例詳解

這篇文章主要給大家介紹了關于laravel如何開啟跨域功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來

前言

本文主要給大家介紹了關于laravel開啟跨域功能的相關內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

跨域的請求

出于安全性的原因,瀏覽器會限制 Script 中的跨域請求。由于 XMLHttpRequest 遵循同源策略,所有使用 XMLHttpRequest 構造 HTTP 請求的應用只能訪問自己的域名,如果需要構造跨域的請求,那么開發(fā)者需要配合瀏覽器做出一些允許跨域的配置。

W3C 應用工作組推薦了一種跨資源共享的機制,這種機制讓 Web 應用服務器能支持跨站訪問控制,從而使得安全的進行跨站數(shù)據(jù)傳輸成為可能,該機制通過幾種方式來對原有模式進行了擴展:

  • 響應的頭部應該追加 Access-Control-Allow-Orign,用來表明哪些請求源被允許訪問資源內(nèi)容
  • 瀏覽器會對請求源和響應中的值進行匹配驗證
  • 對于跨域的請求,瀏覽器會預發(fā)送一個非簡單方式的請求,來判斷給定資源是否準備接受跨域資源訪問
  • 服務端應用通過檢查請求頭部的 Orign 來判定請求是否跨域。

跨源資源共享標準

跨源資源共享標準通過新增一系列 HTTP 頭,讓服務器能聲明哪些來源可以通過瀏覽器訪問該服務器上的資源。另外,對哪些會對服務器數(shù)據(jù)造成破壞性響應的 HTTP 請求方法(特別是 GET 以外的 HTTP 方法,或者搭配某些 MIME 類型的 POST 請求),標準強烈要求瀏覽器必須先以 OPTIONS 請求方式發(fā)送一個預請求(preflight request),從而獲取知服務器端對跨源請求所支持 HTTP 方法。在確認服務器允許跨源請求的情況下,以實際的 HTTP 請求方法發(fā)送那個真正的請求。服務器端也可以通知客戶端,是不是需要隨同請求一起發(fā)送信用信息(包括 Cookies 和 HTTP 認證相關數(shù)據(jù))。

跨源共享標準需要瀏覽器和服務端共同配合才能完成,目前瀏覽器廠商已經(jīng)可以將請求部分自動完成,所以跨源資源訪問的重點還是在于服務器端。

下面列出一些標準中可用的響應頭和請求頭。

Response Header

  • Access-Control-Allow-Origin : 指明哪些請求源被允許訪問資源,值可以為 "*","null",或者單個源地址。
  • Access-Control-Allow-Credentials : 指明當請求中省略 creadentials 標識時響應是否暴露。對于預請求來說,它表明實際的請求中可以包含用戶憑證。
  • Access-Control-Expose-Headers : 指明哪些頭信息可以安全的暴露給 CORS API 規(guī)范的 API。
  • Access-Control-Max-Age : 指明預請求可以在預請求緩存中存放多久。
  • Access-Control-Allow-Methods : 對于預請求來說,哪些請求方式可以用于實際的請求。
  • Access-Control-Allow-Headers : 對于預請求來說,指明了哪些頭信息可以用于實際的請求中。
  • Origin : 指明預請求或者跨域請求的來源。
  • Access-Control-Request-Method : 對于預請求來說,指明哪些預請求中的請求方式可以被用在實際的請求中。
  • Access-Control-Request-Headers : 指明預請求中的哪些頭信息可以用于實際的請求中。

Request Header

  • Origin : 表明發(fā)送請求或預請求的來源。
  • Access-Control-Request-Method : 在發(fā)送預請求時帶該請求頭,表明實際的請求將使用的請求方式。
  • Access-Control-Request-Headers : 在發(fā)送預請求時帶有該請求頭,表明實際的請求將攜帶的請求頭。

中間件

在 Laravel 中允許跨域請求,我們可以構建一個追加響應的中間件,用來添加專門處理跨域的請求的響應頭:

<?php namespace App\Http\Middleware;

use Closure;
use Response;
class EnableCrossRequestMiddleware {

 /**
 * Handle an incoming request.
 *
 * @param \Illuminate\Http\Request $request
 * @param \Closure $next
 * @return mixed
 */
 public function handle($request, Closure $next)
 {

 $response = $next($request);
  $response->header('Access-Control-Allow-Origin', config('app.allow'));
  $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept');
  $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
  $response->header('Access-Control-Allow-Credentials', 'true');
  return $response;
 }

}

其中有以下需要注意的地方:

  • 對于跨域訪問并需要伴隨認證信息的請求,需要在 XMLHttpRequest 實例中指定 withCredentials 為 true。
  • 這個中間件你可以根據(jù)自己的需求進行構建,如果需要在請求中伴隨認證信息(包含 cookie,session)那么你就需要指定 Access-Control-Allow-Credentials 為 true, 因為對于預請求來說如果你未指定該響應頭,那么瀏覽器會直接忽略該響應。
  • 在響應中指定 Access-Control-Allow-Credentials 為 true 時,Access-Control-Allow-Origin 不能指定為 *
  • 后置中間件只有在正常響應時才會被追加響應頭,而如果出現(xiàn)異常,這時響應是不會經(jīng)過中間件的。

總結

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇laravel ORM 只開啟created_at的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了如何通過源碼解析Laravel的依賴注入的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規(guī)則的優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
最近在使用laravel5.5,利用其實現(xiàn)了一個功能,下面分享給大家,這篇文章主要給大家介紹了關于Laravel 5.5基于內(nèi)置的Auth模塊如何實現(xiàn)前后臺登陸的相關資料,文中通過示例代碼介紹的非
laravel 的隊列服務對各種不同的后臺隊列服務提供了統(tǒng)一的 API,下面這篇文章通過源碼分析給大家介紹了關于 Laravel 重復執(zhí)行同一個隊列任務的原因,文中通過示例代碼介紹的非常詳細
這篇文章主要給大家介紹了關于 Laravel Redis 多個進程同時取隊列問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友下面來
主站蜘蛛池模板: 久久精品久久精品久久精品 | 久久高清 | 国产91丝袜| 国产999精品久久久久久绿帽 | 国产91在线视频 | 91视视频在线观看入口直接观看 | 亚洲网站观看 | 亚洲欧美在线观看 | 伊人久操 | 国产不卡一区 | 91精品欧美久久久久久久 | 国产日韩一区二区 | jdav视频在线观看免费 | 成人午夜免费福利视频 | 欧美日韩国产一区 | 精品美女久久久 | 在线免费看黄 | 成人av一区 | a亚洲精品| 亚洲精品久久区二区三区蜜桃臀 | 国内精品一区二区三区 | www.亚洲一区 | 亚洲国产精品久久 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 国产一区二区三区久久久久久久久 | 亚洲精品永久免费 | 成人一级黄色毛片 | 精品国产免费一区二区三区五区 | 精品无码三级在线观看视频 | 一区二区中文字幕 | 久草中文在线 | 亚洲一区二区在线电影 | 日日人人 | 亚洲一区二区视频在线观看 | 久草视频观看 | 欧美极品一区二区 | 永久网站 | 欧美一区二区在线播放 | 日本黄色一级视频 | 91亚洲精| 亚洲精品小视频在线观看 |