Kaip įgalinti CORS „Apache“ ir „Nginx“?

Apribokite arba leiskite dalytis ištekliais tarp svetainių, naudodami CORS antraštę.


CORS (Cross-Origin Resource Sharing) antraštė palaikoma visose šiuolaikinėse naršyklėse.

Ar galiu naudoti korsus?? Duomenys apie „cors“ funkcijos palaikymą pagrindinėse naršyklėse iš caniuse.com.

Pagal numatytuosius nustatymus naršyklė apriboja kryžminės kilmės HTTP užklausas naudodama scenarijus. Ir, KORAI gali būti patogu pakartotinai panaudoti bendrųjų programų išteklius kitose žiniatinklio programose. Teisingai pridėjus, jis nurodo naršyklei įkelti programą iš kitos kilmės.

Yra šeši populiarūs CORS antraščių tipai, kuriuos serveris gali siųsti. Panagrinėkime juos.

Prieiga – valdymas – leidimas – kilmė

Populiariausias, kuriame nurodoma naršyklei įkelti išteklius iš leidžiamos kilmės. Tai palaiko pakaitos ženklą (*) ir tai padaryti bet kuriame domene gali įkelti išteklius. Tačiau ji turi galimybę leisti konkrečią kilmę.

Apache

Įtraukite šiuos dalykus į httpd.conf ar bet kurį kitą naudojamą konfigūracijos failą.

Antraštės rinkinys Prieiga – valdymas – leidimas – kilmė "*"

Pabandykite iš naujo paleisti „Apache“. Turėtumėte juos pamatyti atsakymų antraštėse.

Ir, jei norite leisti iš konkrečios kilmės (pvz .: https://gf.dev), galite naudoti šiuos dalykus.

Antraštės rinkinys Prieiga – valdymas – leidimas – kilmė "https://gf.dev"

Nginx

Štai pavyzdys, kaip leisti kilmę https://geekflare.dev. Į „nginx.conf“ arba naudojamo konfigūracijos failo serverio bloką pridėkite tai.

add_header Prieiga-valdymas-leidimas-kilmė "https://geekflare.dev";

Prieigos kontrolės, leidimo, metodai

Naršyklė gali inicijuoti vieną ar kelis HTTP metodus, kad pasiektų išteklius. Pvz .: – GET, PUT, OPTIONS, PUT, DELETE, POST

Apache

Leisti tik GET ir POST.

Antraštės pridėjimas Prieigos kontrolės, leidimo ir metodai "GET, POST"

Nginx

Tarkime, kad turite pridėti DELETE ir OPTIONS metodus, tada galėsite pridėti, kaip nurodyta toliau.

add_header Prieigos kontrolės, leidimo ir naudojimo būdai "IŠTRINTI, PARINKTYS";

Po paleidimo iš naujo turėtumėte juos pamatyti atsakymų antraštėse.

Prieigos valdymas-leidimas-antraštės

Šios antraštės yra safelistinėje, tai reiškia, kad jums jos nereikia pridėti. Jis turėtų veikti pagal nutylėjimą.

  • Turinio tipas
  • Priimti
  • Turinys-kalba
  • Priimti kalbą

Tačiau, jei jums reikia pridėti pasirinktinį, galite tai padaryti. Tai palaiko vieną ar daugiau antraščių.

Apache

Tarkime, kad norite leisti antraštes „X-Custom-Header“ ir „X-Powered-By”.

Antraštė visada nustato „Access-Control-Allow-Headers“ "„X-Custom-Header“, „X-Powered-By”"

Po naujo paleidimo turėtumėte pamatyti rezultatą atsakymų antraštėse.

Nginx

„X-Client-Software“ ir „X-My-Custom“ antraščių pridėjimo pavyzdys.

add_header Prieigos valdymas-leidimas-antraštės "„X-Custom-Software“, „X-My-Custom“";

Prieigos kontrolė, ekspozicijos antraštės

Šios antraštės jau yra saugios. Reiškia, jums nereikia pridėti, jei norite juos atskleisti.

  • Pasibaigia
  • Pragma
  • Talpyklos valdymas
  • Paskutinį kartą keistas
  • Turinys-kalba
  • Turinio tipas

Bet jei jums reikia kitų nei saugus sąrašas, galite leisti juos kaip nurodytus.

Apache

Norėdami parodyti visas antraštes, naudokite pakaitos ženklą.

Antraštė visada nustato „Access-Control-Expose-Headers“ "*"

Pastaba: pakaitos simbolis vis dar neišparodo autorizacijos antraštės, o jei jums jos reikia, turite aiškiai paminėti.

Antraštė visada nustato „Access-Control-Expose-Headers“ "Leidimas, *"

Rezultatas turėtų atrodyti taip.

Nginx

Jei norite atskleisti kilmės antraštę.

add_header Prieigos valdymas, atskleidimas, antraštės "Kilmė";

Prieigos valdymas – maksimalus amžius

Ar žinote, kad antraščių „Access-Control-Allow-Headers“ ir „Access-Control-Allow-Methods“ antraščių duomenis galima kaupti talpykloje? Talpykloje jis gali būti saugomas iki 24 valandų „Firefox“, 2 valandas – „Chrome“ (76+).

Norėdami išjungti talpyklą, galite išlaikyti reikšmę kaip -1

Apache

Talpykloje 15 minučių.

Antraštė visada nustato „Access-Control-Max-Age“ "900"

Kaip matote, vertė yra sekundėmis.

Nginx

Į talpyklą vienai valandai.

add_header Prieigos valdymas – Maks. amžius "3600";

Pridėję iš naujo paleiskite „Nginx“, kad pamatytumėte rezultatus.

Prieiga – kontrolė – leidimas – kredencialai

Čia yra tik vienas pasirinkimas – tiesa. Tai leidžiama, jei norite atskleisti prisijungimo duomenis, tokius kaip slapukai, TLS sertifikatai, prieigos teisė.

Apache

Antraštė visada nustato „Access-Control-Allow-Credential“ "tiesa"

Nginx

add_header Prieiga – kontrolė – leidimas – kredencialai "tiesa";

ir rezultatas.

Rezultatų tikrinimas

Pridėję reikiamas antraštes, galite naudoti integruotus naršyklės kūrėjo įrankius arba internetinis HTTP antraštės tikrintuvas.

Išvada

Tikiuosi, kad tai, kas išdėstyta pirmiau, padės jums įdiegti CORS antraštę „Apache HTTP“ ir „Nginx“ žiniatinklio serveryje, kad būtų užtikrintas didesnis saugumas. Galbūt jus taip pat domina OWASP rekomenduojamų saugių antraščių taikymas.

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