Hoe kan u CORS in Apache en Nginx inskakel?

Beperk of laat hulpbrondeling tussen webwerwe toe met behulp van die CORS-kop.


CORS (Cross-Origin Resource Sharing) -kop word ondersteun op alle moderne blaaiers.

Kan ek kors gebruik? Gegewens oor ondersteuning vir die cors verskyn oor die belangrikste blaaiers vanaf caniuse.com.

Standaard beperk die blaaier HTTP-versoeke van oorsprong via skrifte. en, kor kan handig te pas kom om die algemene toepassingshulpbronne op ander webtoepassings te hergebruik. Sodra dit korrek bygevoeg is, gee die leser die opdrag om die toepassing van ‘n ander oorsprong te laai.

Daar is ses gewilde soorte CORS-opskrifte wat ‘n bediener kan stuur. Kom ons ondersoek hulle.

Toegang-Control-Laat-oorsprong

Die gewildste een wat dit aan die blaaier stel om die bronne op die toegelate oorsprong te laai. Dit ondersteun wildcard (*) en sodoende kan enige domein die bronne laai. Dit het egter ‘n opsie om ‘n spesifieke oorsprong toe te laat.

Apache

Voeg die volgende in httpd.conf of enige ander konfigurasielêer in gebruik.

Kopstel Toegangsbeheer-Laat-herkoms toe "*"

Herbegin die Apache om te toets. U moet dit sien as antwoordopskrifte.

En om van ‘n spesifieke oorsprong (byvoorbeeld https://gf.dev) toe te laat, kan u die volgende gebruik.

Kopstel Toegangsbeheer-Laat-herkoms toe "https://gf.dev"

Nginx

Hier is ‘n voorbeeld om oorsprong https://geekflare.dev toe te laat. Voeg die volgende in die bedienerblok van nginx.conf of die konfigurasielêer in gebruik.

add_header Toegangsbeheer-Laat-oorsprong toe "https://geekflare.dev";

Toegang-Control-Laat-metodes

Die blaaier kan een of meer HTTP-metodes inisieer om toegang tot die bronne te verkry. Bv: – KRY, PUT, OPSIES, PUT, DELETE, POST

Apache

Om slegs GET en POST toe te laat.

Kopkode voeg metodes vir toegangsbeheer en toe te laat "KRY, POS"

Nginx

Gestel jy moet DELETE- en OPTIONS-metodes byvoeg, dan kan jy soos hieronder byvoeg.

add_header Toegangsbeheer-toelaat-metodes "VERTREK, OPSIES";

Na die weer begin, moet u dit in die antwoordopskrifte sien.

Toegang-Control-Laat-Headers

Die volgende opskrifte is in ‘n veilige lys, en u hoef nie een by te voeg nie. Dit behoort standaard te werk.

  • Content-Type
  • aanvaar
  • Inhoud-taal
  • Aanvaar-taal

As u egter een aangepaste een moet byvoeg, kan u dit doen. Dit ondersteun een of meer opskrifte.

Apache

Gestel ons wil X-aangepaste kop- en X-aangedrewe-koppe toelaat.

Kopkop stel altyd toegangsbeheer-toelaat-hoofde in "X-aangepaste kop, X-aangedryf deur"

Na ‘n herbegin moet u die resultaat in reaksieopskrifte sien.

Nginx

‘N Voorbeeld van die toevoeging van X-Customer-Software en X-My-Custom-kop.

add_header Toegangsbeheer-toelaat-hoofde "X-Custom-sagteware, X-My-Custom";

Toegang-Control-Ontbloot-Headers

Die volgende opskrifte is reeds ‘n veilige lys. Beteken, u hoef nie by te voeg as u dit wil blootstel nie.

  • verstryk
  • Pragma
  • Kas-beheer
  • Laas verander
  • Inhoud-taal
  • Content-Type

Maar as u ‘n ander lys as die veilige lys benodig, kan u dit toelaat as volg.

Apache

Gebruik ‘n wildkaart om alle opskrifte te ontbloot.

Opskrifte stel altyd toegangsbeheer-bloot-hoofde in "*"

Opmerking: ‘n wildkaart onthul steeds nie die magtigingskop nie, en as u een nodig het, moet u dit eksplisiet noem.

Opskrifte stel altyd toegangsbeheer-bloot-hoofde in "Magtiging, *"

Die resultaat moet so lyk.

Nginx

As u Origin-kop wil ontbloot.

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

Toegang-Control-Max-Age

Weet u dat die inligting van die hoofde van toegangsbeheer en toelaat-opskrifte en toegangsbeheer-toelaat-metodes gehef kan word? Dit kan tot 24 uur in Firefox, 2 uur in Chrome (76+) geberg word.

Om die kas te deaktiveer, kan u die waarde as -1 hou

Apache

Om 15 minute te kas.

Header stel altyd Access-Control-Max-Age in "900"

Soos u kan sien, is die waarde in sekondes.

Nginx

Om vir een uur te kas.

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

Sodra dit bygevoeg is, herbegin Nginx om die resultate te sien.

Toegang-Control-Laat-Bewyse

Daar is slegs een opsie om hier in te stel – waar. Dit is om dit moontlik te maak as u geloofsbriewe soos koekies, TLS-sertifikate, magtiging wil blootstel.

Apache

Kopkop stel altyd toegangsbeheer-toestemmingsbewyse in "waar"

Nginx

add_header Toegangsbeheer-toestaan-geloofsbriewe "waar";

en die resultaat.

Verifieer die resultate

Sodra die nodige kopstukke bygevoeg is, kan u blaaier ingeboude ontwikkelaarhulpmiddels gebruik of ‘n aanlyn HTTP-kopskakelaar.

Afsluiting

Ek hoop dat bogenoemde u help om die CORS-kop in Apache HTTP en die Nginx-webbediener te implementeer vir beter veiligheid. U mag ook belangstel om die beveiligde opskrifte van OWASP aan te wend.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map