[LINUX] Eine Geschichte über den Umgang mit dem CORS-Problem

Es ist lange her, dass ich angefangen habe, Front-End- und serverseitige Programme wie Rest zu verknüpfen. Ich bin hierher gekommen und habe viele Pokamis gemacht, um mich daran zu erinnern.

Lassen Sie die Front eine Dummy-API erstellen, die nur einen festen Wert json zurückgibt, und fahren Sie mit der Implementierung fort Das Backend wird für prod implementiert, sodass der Dummy dynamisch ist, und schließlich durch den Dummy ersetzt Ich produziere in einem solchen Fluss.

Also, das Backend verwendet PHP, aber nach viel Chaos

test.php


Ich werde verschiedene Dinge tun ~
header('Content-Type: application/json');
echo $json;
exit;

Es ist die Theorie, json als auszugeben. Auf der Vorderseite wird test.php als Endpunkt mit js ausgeführt. CORS ist fast immer ein Problem.

Auf der Apache-Seite denken wir, wir sollten Sicherheitsrisiken nacheinander berücksichtigen

Header set Access-Control-Allow-Origin *

Der Zugriff ist in Ordnung !! von allen Domänen im Antwortheader. Es war also schlecht, es komplett zu vergessen und in PHP zu schreiben.

header('Content-Type: application/json');
header('Access-Control-Allow-Origin *');
echo $json;
exit;
Access to XMLHttpRequest at 'https://xxxxx.jp/api/test' from origin 
'null' has been blocked by CORS policy: 
The 'Access-Control-Allow-Origin' header contains multiple values '*, *', 
but only one is allowed.

Ich dachte, dass Origin nur am Anfang der Fehlermeldung eingestellt werden sollte. Wenn Sie genau hinschauen, war dies ein Fehler, da mehrere Header für Access-Control-Allow-Origin festgelegt wurden.

Entweder löschen und lösen, aber in diesem Fall ist PHP besser. Ich weiß, aber ich habe größte Angst vor Fehlern in Mustern, die ich nicht bemerke.

**Ende. ** ** **

Recommended Posts

Eine Geschichte über den Umgang mit dem CORS-Problem
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
Die Geschichte, wie theano mit TSUBAME 2.0 verwaltet wurde
[AWS] Umgang mit Wordpress "Die Antwort ist nicht die richtige JSON-Antwort."
[systemd] Wie gehe ich mit dem Problem um, dass fancontrol nach dem Anhalten nicht funktioniert?
Eine Geschichte darüber, wie man einen relativen Pfad in Python angibt.
Eine Geschichte darüber, wie Windows 10-Benutzer eine Umgebung für die Verwendung von OpenCV3 mit Python 3.5 erstellt haben
Umgang mit unausgeglichenen Daten
Ein Memo darüber, wie man das schwierige Problem der Erfassung von FX mit AI überwinden kann
Suche nach einer Lösung für das N-Queen-Problem mit einem genetischen Algorithmus (1)
Eine Geschichte über die Portierung des Codes "Versuchen Sie zu verstehen, wie Linux funktioniert" nach Rust
[VLC] Wie man mit dem Problem umgeht, dass es während der Wiedergabe nicht im Vordergrund steht
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
So fügen Sie ein Paket mit PyCharm hinzu
So lösen Sie das Problem beim Verpacken des Behälters
Umgang mit Enum-Kompatibilitätsfehlern
Wie man Problemdaten mit Paiza liest
So gehen Sie mit dem Problem um, dass das aktuelle Verzeichnis verschoben wird, wenn Python von Atom ausgeführt wird
Das 16. Offline-Echtzeit-Schreibproblem wurde mit Python gelöst
[Kleine Geschichte] So speichern Sie Matplotlib-Diagramme in einem Stapel mit Jupyter
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
Das 16. Offline-Echtzeit-Schreiben eines Referenzproblems zur Lösung mit Python
Versuchen Sie, das Problem des Handlungsreisenden mit einem genetischen Algorithmus zu lösen (Theorie)
Wie man die anfängliche Population mit einem genetischen Algorithmus unter Verwendung von DEAP fixiert
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
Das 19. Offline-Echtzeit-Schreiben eines Referenzproblems zur Lösung mit Python
Das 15. Offline-Problem beim Schreiben in Echtzeit wurde mit Python gelöst
Umgang mit Speicherlecks in matplotlib.pyplot
So berechnen Sie die Volatilität einer Marke
Versuchen Sie, das Fizzbuzz-Problem mit Keras zu lösen
Lesen einer CSV-Datei mit Python 2/3
Freigeben einer virtuellen Umgebung [Informationen zu den Anforderungen.txt]
So senden Sie eine Nachricht mit Curl an LINE
Umgang mit Fehlern beim Auftreffen auf pip pip
So zeichnen Sie ein 2-Achsen-Diagramm mit Pyplot
So erstellen Sie ein Wörterbuch mit einer hierarchischen Struktur.
Ich kann nicht nerven. Wie man mit nervigen Objekten umgeht
So testen Sie den Friends-of-Friends-Algorithmus mit pyfof
Der Umgang mit dem Modul'tensorflow 'hat kein Attribut' '
Wie man mit dem Problem umgeht, dass die Erstellung fehlschlägt, wenn CI / CD von Python Function mit AWS Amplify
Eine Geschichte über die Implementierung eines Anmeldebildschirms mit Django
Speichern Sie das Objekt in einer Datei mit pickle
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
Wie man Kaldi mit JUST Corpus trainiert
Versuchen Sie, das Problem des Handlungsreisenden mit einem genetischen Algorithmus (Python-Code) zu lösen.
So veröffentlichen Sie ein Blog auf Amazon S3 mit der statischen Blog-Engine "Pelican" für Pythonista
Versuchen Sie, das Problem des Handlungsreisenden mit einem genetischen Algorithmus zu lösen (Ausführungsergebnis)
Umgang mit der Unfähigkeit, die Sperrdatei / var / lib / dpkg / lock-frontend zu öffnen
[Anmerkung] Eine Geschichte darüber, dass es nicht möglich ist, den Proxy mit pip zu durchbrechen
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
[Python] Umgang mit dem is-Instanzfehler "is instance () arg 2 muss ein Typ oder ein Tupel von Typen sein"
Umgang mit "^ [[A ^ [[B ^ [[C ^ [[D"]] beim Drücken der Richtungstaste beim Ausführen von Python auf dem Mac
Lesen Sie die Python-Markdown-Quelle: So erstellen Sie einen Parser
So konvertieren / wiederherstellen Sie einen String mit [] in Python