In Apache HTTP , Nginx und Sicherheit Letztes Updateated:
Teilen:
Jira-Software ist das Projektmanagement-Tool Nr. 1, das von agilen Teams zum Planen, Verfolgen, Freigeben und Unterstützen großartiger Software verwendet wird.

Beschränken oder erlauben Sie die gemeinsame Nutzung von Ressourcen zwischen Standorten mithilfe des CORS-Headers.

Der CORS-Header (Cross-Origin Resource Sharing) wird auf allen modernen b unterstütztrowsERS.

Kann ich cors verwenden? Daten zur Unterstützung des CORS-Features in den wichtigsten browsvon caniuse.com.

Standardmäßig ist das browsEr schränkt ursprungsübergreifende HTTP-Anfragen über Skripte ein. Und, CORS kann nützlich sein, um die gemeinsamen Anwendungsressourcen in anderen Webanwendungen wiederzuverwenden. Sobald es korrekt hinzugefügt wurde, weist es den b anrowsEs ist möglich, die Anwendung von einem anderen Ursprung zu laden.

Es gibt sechs beliebte Arten von CORS-Headern, die ein Server senden kann. Lassen Sie uns sie erkunden.

Zugriffskontrolle-Zulassen-Ursprung

Das beliebteste, das es dem B erzähltrowsEr lädt die Ressourcen auf den zulässigen Ursprung. Es unterstützt Platzhalter (*) und somit kann jede Domäne die Ressourcen laden. Es besteht jedoch die Möglichkeit, einen bestimmten Ursprung zuzulassen.

Apache

Fügen Sie Folgendes hinzu httpd.conf oder eine andere verwendete Konfigurationsdatei.

Header set Access-Control-Allow-Origin "*"

Starten Sie den zu testenden Apache neu. Sie sollten sie in Antwortheadern sehen.

Um einen bestimmten Ursprung zuzulassen (z. B. https://gf.dev), können Sie Folgendes verwenden.

Header set Access-Control-Allow-Origin "https://gf.dev"

Nginx

Hier ist ein Beispiel, um den Ursprung https:// zuzulassen.geekflare.dev. Fügen Sie Folgendes hinzu server Block aus nginx.conf oder verwendete Konfigurationsdatei.

add_header Access-Control-Allow-Origin "https://geekflare.dev";

Zugriffssteuerungs-Zulassungsmethoden

Die browsEr kann initiierenate eine oder mehrere HTTP-Methoden für den Zugriff auf die Ressourcen. Beispiel: – GET, PUT, OPTIONS, PUT, DELETE, POST

Apache

Nur GET und POST zulassen.

Header add Access-Control-Allow-Methods "GET, POST"

Nginx

Angenommen, Sie müssen die Methoden DELETE und OPTIONS hinzufügen, dann können Sie wie folgt hinzufügen.

add_header Access-Control-Allow-Methods "DELETE, OPTIONS";

Nach dem Neustart sollten Sie sie in den Antwortheadern sehen.

Access-Control-Allow-Header

Die folgenden Überschriften befinden sich in der Sicherheitsliste, dh Sie müssen keine hinzufügen. Es sollte standardmäßig funktionieren.

  • Content-Type
  • Accept
  • Inhaltssprache
  • Akzeptanz-Sprache

Wenn Sie jedoch eine benutzerdefinierte hinzufügen müssen, können Sie dies tun. Es unterstützt einen oder mehrere Header.

Apache

Angenommen, Sie möchten zulassen X-Custom-Header und X-Powered-By Überschriften.

Header always set Access-Control-Allow-Headers "X-Custom-Header, X-Powered-By"

Nach einem Neustart sollte das Ergebnis in den Antwortheadern angezeigt werden.

Nginx

Ein Beispiel für das Hinzufügen von X-Customer-Software und X-My-Custom-Headern.

add_header Access-Control-Allow-Headers "X-Custom-Software, X-My-Custom";

Access-Control-Expose-Header

Die folgenden Header sind bereits eine sichere Liste. Das heißt, Sie müssen nichts hinzufügen, wenn Sie sie verfügbar machen möchten.

  • Läuft ab
  • Pragma
  • Cache-Control
  • Zuletzt geändert
  • Inhaltssprache
  • Content-Type

Wenn Sie jedoch eine andere als die sichere Liste benötigen, können Sie diese wie folgt zulassen.

Apache

Verwenden Sie einen Platzhalter, um alle Header verfügbar zu machen.

Header always set Access-Control-Expose-Headers "*"

Hinweis: Ein Platzhalter wird immer noch nicht verfügbar gemacht Authorization Header, und wenn Sie einen benötigen, müssen Sie explizit erwähnen.

Header always set Access-Control-Expose-Headers "Authorization, *"

Das Ergebnis sollte so aussehen.

Nginx

Wenn Sie belichten möchten Origin Header.

add_header Access-Control-Expose-Headers "Origin";

Zugangskontrolle-Max.-Alter

Kennen Sie die Daten von Access-Control-Allow-Headers und Access-Control-Allow-Methods Header können zwischengespeichert werden? Es kann bis zu 24 Stunden in Firefox zwischengespeichert werden, 2 Stunden in Chrome (76+).

Zu disable Durch das Caching können Sie den Wert beibehalten -1

Apache

15 Minuten zwischenspeichern.

Header always set Access-Control-Max-Age "900"

Wie Sie sehen können, ist der Wert in Sekunden.

Nginx

Für eine Stunde zwischenspeichern.

add_header Access-Control-Max-Age "3600";

Starten Sie Nginx nach dem Hinzufügen neu, um die Ergebnisse anzuzeigen.

Zugangskontrolle-Zulassen-Anmeldeinformationen

Es gibt hier nur eine Option - true. This ist zuzulassen, wenn Sie Anmeldeinformationen wie Cookies oder TLS-Zertifikate offenlegen möchtenates, Autorisierung.

Apache

Header always set Access-Control-Allow-Credentials "true"

Nginx

add_header Access-Control-Allow-Credentials "true";

und das Ergebnis.

Überprüfen der Ergebnisse

Sobald die erforderlichen Header hinzugefügt wurden, können Sie entweder b verwendenrowsEr eingebaute Entwicklertools oder ein Online-HTTP-Header-Checker.

Fazit

Ich hoffe, dass das oben Genannte Ihnen hilft, den CORS-Header in Apache HTTP und auf dem Nginx-Webserver für eine bessere Sicherheit zu implementieren. Sie könnten auch daran interessiert sein, sich zu bewerben OWASP empfahl sichere Header.

Teilen:
  • Chandan Kumar
    Autor
    Chandan Kumar ist ein erfahrener Technologie-Enthusiast und Unternehmer mit Leidenschaftate About empowering Unternehmen und Einzelpersonen weltweitally. Als Gründer von Geekflare, einer führenden Technologiepublikation, hat Chandan die Entwicklung vorangetrieben…

Danke an unsere Sponsoren

Weitere großartige Lektüren zu Apache HTTP

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.