Kuinka ottaa CORS käyttöön Apachessa ja Nginxissä?

Rajoita tai salli resurssien jakaminen sivustojen välillä CORS-otsikon avulla.


CORS (Cross-Origin Resource Sharing) -otsikkoa tuetaan kaikissa nykyaikaisissa selaimissa.

Voinko käyttää korseja? Tiedot korsariominaisuuden tuesta tärkeimmillä selaimilla caniuse.com-sivustosta.

Oletuksena selain rajoittaa alkuperälähetysten HTTP-pyyntöjä komentosarjojen kautta. Ja, CORS voi olla kätevää käyttää yleisiä sovellusresursseja uudelleen muissa Web-sovelluksissa. Kun se on lisätty oikein, se kehottaa selainta lataamaan sovelluksen eri lähteestä.

Palvelin voi lähettää kuusi suosittua CORS-otsikkotyyppiä. Tutkitaan niitä.

Access-Control-Allow-Origin

Suosituin, jonka mukaan selain lataa resurssit sallittuun alkuperään. Se tukee yleismerkkejä (*), ja näin toimiessaan kaikki verkkotunnukset voivat ladata resursseja. Sillä on kuitenkin mahdollisuus sallia tietty alkuperä.

Apache

Lisää seuraavaksi httpd.conf tai muu käytössä oleva asetustiedosto.

Otsikko asetettu Access-Control-Allow-Origin "*"

Käynnistä Apache testataksesi uudelleen. Sinun pitäisi nähdä ne vastausotsikoissa.

Ja salliaksesi tietyn alkuperän (esimerkiksi: https://gf.dev), voit käyttää seuraavaa.

Otsikko asetettu Access-Control-Allow-Origin "https://gf.dev"

nginx

Tässä on esimerkki alkuperästandardin sallimisesta https://geekflare.dev. Lisää seuraava kohta nginx.conf-palvelimen lohkoon tai käytössä olevaan asetustiedostoon.

add_header Kulunvalvonta-Salli-Alkuperä "https://geekflare.dev";

Access-Control-Salli-menetelmät

Selain voi käynnistää yhden tai useamman HTTP-menetelmän resurssien käyttämiseksi. Esimerkki: – GET, PUT, OPTIONS, PUT, DELETE, POST

Apache

Vain GET ja POST salliminen.

Otsikon lisäys Access-Control-Allow-Methods "SAA, POST"

nginx

Oletetaan, että sinun on lisättävä POISTA- ja OPTIONS-menetelmät, niin voit lisätä alla esitetyllä tavalla.

add_header Access-Control-Allow-Methods "POISTA, VALINNAT";

Uudelleenkäynnistyksen jälkeen sinun pitäisi nähdä ne vastausotsikoissa.

Access-Control-Allow-otsikot

Seuraavat otsikot ovat safelist-luettelossa, joten sinun ei tarvitse lisätä niitä. Sen pitäisi toimia oletuksena.

  • Sisältötyyppi
  • Hyväksyä
  • Content-Language
  • Accept-Language

Jos kuitenkin haluat lisätä mukautetun, voit tehdä sen. Se tukee yhtä tai useampaa otsikkoa.

Apache

Oletetaan, että haluat sallia X-Custom-Header- ja X Powered-By-otsikot.

Otsikko on aina asetettu Pääsy-hallinta-Salli-Otsikot "X-Custom-Header, X-Powered-By"

Uudelleenkäynnistyksen jälkeen tuloksen pitäisi olla vastausotsikoissa.

nginx

Esimerkki X-asiakasohjelmiston ja X-minun-mukautetun otsikon lisäämisestä.

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

Access-Control-Paljasta-otsikot

Seuraavat otsikot ovat jo turvallista luetteloa. Tarkoittaa, sinun ei tarvitse lisätä, jos haluat paljastaa ne.

  • vanhenee
  • Pragma
  • Cache-Control
  • Viimeksi muokattu
  • Content-Language
  • Sisältötyyppi

Mutta jos tarvitset muuta kuin turvallista luetteloa, voit sallia niiden seuraavan.

Apache

Paljasta kaikki otsikot jokerimerkillä.

Otsikko on aina asetettu Access-Control-Expose-otsikot "*"

Huomaa: jokerimerkkinä ei vieläkään ole valtuutusotsikkoa, ja jos tarvitset sellaista, se on mainittava nimenomaisesti.

Otsikko on aina asetettu Access-Control-Expose-otsikot "Valtuutus, *"

Tuloksen pitäisi näyttää tältä.

nginx

Jos haluat paljastaa Origin-otsikon.

add_header Kulunvalvonta-Expos-Otsikot "alkuperä";

Access-Control-Max-ikä

Tiedätkö Access-Control-Allow-Headers- ja Access-Control-Allow-Methods -otsikoiden tiedot välimuistissa? Se voidaan välimuistiin jopa 24 tuntia Firefoxissa, 2 tuntia Chromessa (76+).

Voit poistaa välimuistin käytöstä pitämällä arvon -1

Apache

Välimuisti 15 minuutin ajan.

Otsikko on aina asetettu Access-Control-Max-Age "900"

Kuten näette, arvo on sekunneissa.

nginx

Välimuisti yhden tunnin ajan.

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

Kun olet lisännyt, käynnistä Nginx uudelleen nähdäksesi tulokset.

Access-Control-Allow-valtakirjojen

Tässä on vain yksi vaihtoehto – totta. Tämä on sallittu, jos haluat paljastaa käyttöoikeustiedot, kuten evästeet, TLS-varmenteet, valtuutuksen.

Apache

Otsikko asettaa aina käyttöoikeuden hallinnan, salli käyttöoikeudet "totta"

nginx

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

ja tulos.

Tulosten tarkistaminen

Kun tarvittavat otsikot on lisätty, voit käyttää joko selaimen sisäänrakennettuja kehittämistyökaluja tai online-HTTP-otsikkotarkistus.

johtopäätös

Toivon, että yllä oleva auttaa sinua toteuttamaan CORS-otsikon Apache HTTP: ssä ja Nginx-verkkopalvelimessa paremman tietoturvan saavuttamiseksi. Saatat myös olla kiinnostunut OWASP: n suosittelemien suojattujen ylätunnisteiden soveltamisesta.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    latest articles
    Комментариев нет, будьте первым кто его оставит

    Комментарии закрыты.

    Adblock
    detector