Heim PHP-Framework Laravel So verwenden Sie Middleware, um Cross-Origin Resource Sharing (CORS) in Laravel zu implementieren

So verwenden Sie Middleware, um Cross-Origin Resource Sharing (CORS) in Laravel zu implementieren

Nov 02, 2023 pm 01:57 PM
跨域请求处理 laravel中间件 Domainübergreifende Ressourcenfreigabe (cors)

So verwenden Sie Middleware, um Cross-Origin Resource Sharing (CORS) in Laravel zu implementieren

So verwenden Sie Middleware, um Cross-Origin Resource Sharing (CORS) in Laravel zu implementieren

Übersicht:

Cross-Origin Resource Sharing (CORS) ist ein Browsermechanismus, der es Webanwendungen ermöglicht, auf verschiedenen Domänennamen zu teilen Ressourcen unten. Laravel, ein beliebtes PHP-Framework, bietet eine bequeme Möglichkeit, CORS zu handhaben, indem es Middleware zur Verarbeitung domänenübergreifender Anfragen verwendet.

In diesem Artikel erfahren Sie, wie Sie Middleware zum Implementieren von CORS in Laravel verwenden, einschließlich der Konfiguration von Middleware, dem Festlegen zulässiger Domänennamen und Anforderungsmethoden sowie der Bereitstellung spezifischer Codebeispiele.

Schritt 1: CORS-Middleware erstellen

Zuerst müssen wir eine Middleware für den Umgang mit CORS erstellen. Verwenden Sie den folgenden Befehl im Terminal, um eine neue Middleware-Datei zu generieren:

php artisan make:middleware CorsMiddleware

Dieser Befehl generiert eine Datei mit dem Namen im Verzeichnis <code>app/Http/Middleware CorsMiddleware .php-Datei. app/Http/Middleware目录下生成一个名为CorsMiddleware.php的文件。

打开CorsMiddleware.php文件,修改handle方法如下:

public function handle($request, Closure $next)
{
    $response = $next($request);
    
    $response->header('Access-Control-Allow-Origin', '*');
    $response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    $response->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
    
    return $response;
}
Nach dem Login kopieren

在这个中间件中,我们设置了三个响应头,分别是:Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Allow-Origin允许所有源进行跨域访问,您也可以根据需要设置特定的域名。Access-Control-Allow-Methods定义允许的请求方法,这里我们设置了常见的GET、POST、PUT、DELETE和OPTIONS。Access-Control-Allow-Headers允许的请求头中包含了Content-Type和Authorization。

步骤二:注册CORS中间件

打开app/Http/Kernel.php文件,找到$middleware数组,并在数组中添加以下行代码:

protected $middleware = [
    // ...
    AppHttpMiddlewareCorsMiddleware::class,
];
Nach dem Login kopieren

以上代码将添加CorsMiddleware中间件到全局中间件堆栈中,以便它可以应用于每一个请求。

步骤三:使用CORS中间件

为了验证我们的CORS中间件是否有效,我们可以在一个API路由中使用它。在routes/api.php文件中,添加一个GET路由,并为该路由使用CorsMiddleware中间件:

Route::get('/test', function () {
    return response()->json(['message' => 'Hello World']);
})->middleware('cors');
Nach dem Login kopieren

这个路由将返回一个包含"Hello World"消息的JSON响应。

步骤四:验证CORS设置

现在我们可以使用任何支持跨域访问的客户端,例如浏览器或REST客户端进行验证。在浏览器的开发工具中,我们可以看到响应的头部信息。

例如,在Chrome浏览器上,打开开发者工具,切换到"Network"选项卡,然后访问我们在步骤三中定义的路由/api/test。在响应头部信息中,我们应该看到Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-Headers

Öffnen Sie die Datei CorsMiddleware.php und ändern Sie die Methode handle wie folgt:

rrreee

In dieser Middleware legen wir drei Antwortheader fest: Access -Control-Allow-Origin, Access-Control-Allow-Methods und Access-Control-Allow-Headers. Access-Control-Allow-Origin ermöglicht den domänenübergreifenden Zugriff aus allen Quellen, und Sie können bei Bedarf auch bestimmte Domänennamen festlegen. Access-Control-Allow-Methods definiert die zulässigen Anforderungsmethoden. Hier legen wir die allgemeinen GET, POST, PUT, DELETE und OPTIONS fest. Zu den zulässigen Anforderungsheadern von Access-Control-Allow-Headers gehören Content-Type und Authorization.

Schritt 2: CORS-Middleware registrieren

Öffnen Sie die Datei app/Http/Kernel.php, suchen Sie das Array $middleware und fügen Sie die folgenden Codezeilen hinzu Array: 🎜 rrreee🎜Der obige Code fügt die CorsMiddleware-Middleware zum globalen Middleware-Stack hinzu, sodass sie auf jede Anfrage angewendet werden kann. 🎜🎜Schritt 3: CORS-Middleware verwenden 🎜🎜Um zu überprüfen, ob unsere CORS-Middleware gültig ist, können wir sie in einer API-Route verwenden. Fügen Sie in der Datei routes/api.php eine GET-Route hinzu und verwenden Sie die Middleware CorsMiddleware für diese Route: 🎜rrreee🎜Diese Route gibt eine Nachricht mit „Hello World“ zurück. Die JSON-Antwort der Nachricht. 🎜🎜Schritt 4: CORS-Einstellungen überprüfen🎜🎜Jetzt können wir zur Überprüfung jeden Client verwenden, der domänenübergreifenden Zugriff unterstützt, z. B. einen Browser oder einen REST-Client. In den Entwicklungstools des Browsers können wir die Antwortheaderinformationen sehen. 🎜🎜Öffnen Sie beispielsweise im Chrome-Browser die Entwicklertools, wechseln Sie zur Registerkarte „Netzwerk“ und greifen Sie dann auf die Route /api/test zu, die wir in Schritt drei definiert haben. In den Antwortheadern sollten wir Access-Control-Allow-Origin, Access-Control-Allow-Methods und Access-Control-Allow-Headers sehen. Code> Einstellungen. 🎜🎜Wenn alles in Ordnung ist, sollten Sie in der Lage sein, HTTP-Anfragen von verschiedenen Domänennamen zu senden und erfolgreich Antworten zu erhalten. 🎜🎜Fazit: 🎜🎜Durch die Verwendung von Middleware bietet das Laravel-Framework eine einfache Möglichkeit, eine domänenübergreifende gemeinsame Nutzung von Ressourcen zu erreichen. In diesem Artikel erfahren Sie, wie Sie CORS-Middleware erstellen, Middleware registrieren und Middleware verwenden, um domänenübergreifende Anforderungen zu verarbeiten. Ich hoffe, dieser Artikel kann Ihnen bei der Implementierung von CORS in Laravel helfen und bietet genügend Codebeispiele als Referenz. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Middleware, um Cross-Origin Resource Sharing (CORS) in Laravel zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie die Nginx-CORS-Konfiguration (Cross-Origin Resource Sharing). So implementieren Sie die Nginx-CORS-Konfiguration (Cross-Origin Resource Sharing). Nov 08, 2023 pm 12:22 PM

Für die Implementierung der CORS-Konfiguration (Cross-Domain Resource Sharing) von Nginx sind spezifische Codebeispiele erforderlich. Mit der Popularität der Front-End- und Back-End-Trennungsentwicklung sind Probleme mit der domänenübergreifenden Ressourcenfreigabe (CORS) zu einer häufigen Herausforderung geworden. Bei der Webentwicklung kann clientseitiger JavaScript-Code aufgrund der Same-Origin-Richtlinienbeschränkungen des Browsers nur Ressourcen mit demselben Domänennamen, Protokoll und Port anfordern wie die Seite, auf der er sich befindet. In der tatsächlichen Entwicklung müssen wir jedoch häufig Ressourcen von verschiedenen Domänennamen oder verschiedenen Subdomänen anfordern. Zu diesem Zeitpunkt müssen Sie CO verwenden

Domainübergreifende Anforderungsverarbeitung im Go-Sprachframework Domainübergreifende Anforderungsverarbeitung im Go-Sprachframework Jun 03, 2023 am 08:32 AM

In der Webentwicklung sind domänenübergreifende Anfragen eine häufige Anforderung. Wenn eine Website Daten von einer anderen Domäne abrufen oder eine API-Schnittstelle aufrufen muss, muss sie domänenübergreifende Anforderungen verwenden. Um jedoch die Sicherheit der Website zu gewährleisten, blockiert der Browser solche Anfragen, was dazu führt, dass domänenübergreifende Anfragen fehlschlagen. Um dieses Problem zu lösen, müssen wir einige technische Mittel einsetzen, um domänenübergreifende Anfragen zu bearbeiten. In diesem Artikel stellen wir die Methode zur domänenübergreifenden Anforderungsverarbeitung im Go-Sprachframework vor. Was ist eine domänenübergreifende Anfrage? In der Webentwicklung können Frontend-Seiten unter demselben Domainnamen erstellt werden

So behandeln Sie Ausnahmen mithilfe von Middleware in Laravel So behandeln Sie Ausnahmen mithilfe von Middleware in Laravel Nov 04, 2023 pm 02:26 PM

Verwendung von Middleware zur Behandlung von Ausnahmen in Laravel Middleware ist ein wichtiges Konzept im Laravel-Framework. Sie kann eine Reihe von Vorgängen ausführen, bevor und nachdem die Anforderung den Controller erreicht. Zusätzlich zur allgemeinen Berechtigungsüberprüfung, Protokollierung und anderen Funktionen kann Middleware auch zur Behandlung von Ausnahmen eingesetzt werden. In diesem Artikel untersuchen wir, wie Middleware zur Behandlung von Ausnahmen in Laravel verwendet wird, und stellen spezifische Codebeispiele bereit. Zuerst müssen wir eine Middleware für die Ausnahmebehandlung erstellen. Sie können eine Middleware-Klasse generieren, indem Sie den folgenden Befehl ausführen:

So verwenden Sie Middleware für den Datenexport in Laravel So verwenden Sie Middleware für den Datenexport in Laravel Nov 02, 2023 am 08:29 AM

Laravel ist ein beliebtes PHP-Webanwendungs-Framework, das viele praktische Funktionen zur Entwicklung leistungsstarker, skalierbarer und einfach zu wartender Webanwendungen bietet. Eines der wichtigen Features ist die Middleware, die bestimmte Vorgänge zwischen Anfragen und Antworten durchführen kann. In diesem Artikel besprechen wir, wie man Daten mithilfe von Middleware in Excel-Dateien exportiert. Erstellen einer Laravel-Anwendung Zuerst müssen wir eine Laravel-Anwendung erstellen. Sie können Co. verwenden

ThinkPHP6 domänenübergreifende Anforderungsverarbeitung: Lösung des Problems der Front-End- und Back-End-Trennung ThinkPHP6 domänenübergreifende Anforderungsverarbeitung: Lösung des Problems der Front-End- und Back-End-Trennung Aug 13, 2023 am 09:10 AM

ThinkPHP6 domänenübergreifende Anforderungsverarbeitung: Lösung des Problems der Front-End- und Back-End-Trennung Mit der kontinuierlichen Entwicklung von Internetanwendungen wird das Entwicklungsmodell der Front-End- und Back-End-Trennung immer häufiger. Bei der Verwendung des ThinkPHP6-Frameworks zur Entwicklung von Anwendungen, die Front- und Back-Ends trennen, sind domänenübergreifende Anforderungen zu einem häufigen Problem geworden. In diesem Artikel wird erläutert, wie domänenübergreifende Anforderungen in ThinkPHP6 verarbeitet werden, und es werden entsprechende Codebeispiele bereitgestellt. 1. Was ist eine domänenübergreifende Anfrage? Unter domänenübergreifender Anfrage versteht man, dass in einer Webanwendung der Front-End-Code über Ajax und andere Methoden an das Back-End eines anderen Domänennamens oder Ports sendet.

So verwenden Sie Middleware für die WeChat-Anmeldeautorisierung in Laravel So verwenden Sie Middleware für die WeChat-Anmeldeautorisierung in Laravel Nov 03, 2023 am 10:55 AM

So verwenden Sie Middleware für die WeChat-Anmeldeautorisierung in Laravel Mit der rasanten Entwicklung des mobilen Internets ist die Anmeldung über Dritte zu einer beliebten Möglichkeit für Benutzer geworden, sich schnell zu registrieren und anzumelden. Unter ihnen ist die WeChat-Anmeldung eine der beliebtesten. Für Entwickler ist die Verwendung der WeChat-Anmeldung zur Autorisierung auf ihren eigenen Websites oder Anwendungen ein häufiges Bedürfnis. In diesem Artikel wird erläutert, wie Middleware im Laravel-Framework zur Implementierung der WeChat-Anmeldeautorisierungsfunktion verwendet wird, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir Larav herunterladen und installieren

Wofür wird Laravel-Middleware verwendet? Wofür wird Laravel-Middleware verwendet? Apr 09, 2024 pm 05:03 PM

Laravel-Middleware wird verwendet für: 1. Authentifizierung und Autorisierung; 3. Filtern von Antworten; 5. Anpassen des Anwendungsverhaltens; Middleware ermöglicht Entwicklern das einfache Hinzufügen von Funktionen und Einschränkungen zu Anwendungen außerhalb von Routing-Controllern.

Laravel-Middleware: Fügen Sie Ihrer Anwendung Datenbankmigration und Versionsverwaltung hinzu Laravel-Middleware: Fügen Sie Ihrer Anwendung Datenbankmigration und Versionsverwaltung hinzu Aug 02, 2023 am 10:17 AM

Laravel Middleware: Datenbankmigration und Versionsverwaltung zu Anwendungen hinzufügen Bei der Entwicklung und Wartung einer Webanwendung ist die Datenbankmigration und Versionsverwaltung eine sehr wichtige Aufgabe. Sie ermöglichen uns eine einfache Verwaltung der Struktur und Daten der Datenbank, ohne die Datenbank manuell aktualisieren oder neu erstellen zu müssen. Das Laravel-Framework bietet leistungsstarke und praktische Datenbankmigrations- und Versionsverwaltungsfunktionen. Durch den Einsatz von Middleware können wir diese Funktionen einfacher in unsere Anwendungen integrieren. Zuerst müssen wir sicherstellen, dass unser Lar

See all articles