Heim Backend-Entwicklung PHP-Tutorial Eine Einführung in die Methode zur Steuerung domänenübergreifender Domänennamen und zur Ermöglichung domänenübergreifender Bild-Uploads im PHP-Backend

Eine Einführung in die Methode zur Steuerung domänenübergreifender Domänennamen und zur Ermöglichung domänenübergreifender Bild-Uploads im PHP-Backend

Nov 12, 2018 pm 01:52 PM
php

Der Inhalt dieses Artikels befasst sich mit der Methode zur Steuerung domänenübergreifender Domänennamen und dem Ermöglichen des domänenübergreifenden Hochladens von Bildern über das PHP-Backend. Ich hoffe, dass dies der Fall ist hilfreich sein.

Oft müssen domänenübergreifende Probleme bewältigt werden, und das Front-End muss direkter erfolgen

Wählen Sie entweder die asynchrone Ajax-Übermittlung, XML oder JSONP oder die Formularübermittlung

jsonp kann im Grunde alles verarbeiten. Es gibt einige domänenübergreifende Probleme, aber das Problem ist auch relativ offensichtlich. Es kann nur über die get-Methode

übermittelt werden, und jsonp sendet die Anfrage, indem es Parameter in die URL einfügt 🎜>

Allerdings haben alle Browser URL-Längenbeschränkungen, verschiedene Browser haben unterschiedliche Längenbeschränkungen

Wenn Sie einen großen Absatz mit Inhalten einreichen müssen, z. B. einen Artikel, wenn Sie JSONP und die Länge verwenden Wenn die Länge überschritten wird, können Sie nur teilen und senden

Es ist sehr problematisch und am Ende ist es nicht korrekt. Die Sicherheit hat einige Auswirkungen

Und Axiox unterstützt JSONP derzeit nicht. Obwohl es welche gibt Lösungsmöglichkeiten

Insbesondere beim Hochladen von Bildressourcen kann es mit Methoden wie jsonp nicht gut implementiert werden

Szenarien, die das Hochladen von domänenübergreifenden Bildern erfordern

Natürlich ist es am besten, nicht domänenübergreifend zu arbeiten, aber bei den meisten Projekten sind derzeit Front-End und Back-End getrennt.

Statische Ressourcen und Schnittstellen sind unterschiedliche Domänennamen bzw. Domänennamen der zweiten Ebene beinhaltet domänenübergreifendes Hochladen

Wenn es sich um einen Ressourcen-Upload handelt, sind beim domänenübergreifenden Ausführen das Backend Access-Control-Allow-Origin und die aktuelle Anforderung erforderlich. Das Gleiche wie bei Origin kann nicht auf * gesetzt werden

php-Lösung

Wenn es sich um eine herkömmliche Datenanfrage handelt, dann setzt das Backend Access-Control-Allow-Origin direkt auf * Gut

 header('Access-Control-Allow-Origin:*');
Nach dem Login kopieren
Aber der Ursprung des Hochladens von Ressourcen wie Bildern muss mit dem Wert von Access-Control-Allow-Origin identisch sein

Wenn Access-Control-Allow-Origin auf den gleichen Wert wie der aktuelle Ursprung eingestellt ist, dann dort ist nur ein Domänenname, der hochgeladen werden kann.

Wenn andere Domänennamen diese Schnittstelle aufrufen müssen, werden sie gesperrt.

Daher ist es am besten, die Liste der Domänennamen einzuschränken kann diese Schnittstelle aufrufen. Verbesserte Sicherheit

Die Methode besteht darin, zuerst den Ursprung der aktuellen Anfrage zu ermitteln. Wenn sie in der Liste der Domänennamen enthalten ist, auf die zugegriffen werden darf

, legen Sie fest Wert von Access-Control-Allow-Origin auf die aktuelle Anfrage Origin

$originList = [
    'http://127.0.0.1',
    'http://www.php.cn',
    'http://www.php.cn',
];
if(in_array($_SERVER['HTTP_ORIGIN'], $originList)){
    header('Access-Control-Allow-Origin:'.$origin);
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Headers:x-requested-with,content-type');
    header("Access-Control-Allow-Methods: POST,GET,OPTIONS");
}
Nach dem Login kopieren
Auf diese Weise können Sie Domänennamen steuern, die domänenübergreifend sein können, und Bildressourcen können genauso problemlos hochgeladen werden wie in derselben Domäne

Die Post-Methode ist auch für die domänenübergreifende Einreichung anwendbar


Das obige ist der detaillierte Inhalt vonEine Einführung in die Methode zur Steuerung domänenübergreifender Domänennamen und zur Ermöglichung domänenübergreifender Bild-Uploads im PHP-Backend. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
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)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles