Ugrás a fő tartalomra

Access-Control-Allow-Origin (CORS) header beállítása .htaccess segítségével

Első lépésként ha még nem létezik .htaccess fájl az érintett domain név dokumentum root könyvtárában akkor hozza létre. Ehhez az alábbi leírásban találhat segítséget:

Hogyan hozhatok létre .htaccess fájlt?

Abban az esetben ha a fájl már létezik akkor az alábbi leírások alapján tudja Őket szerkeszteni:

Íme egy gyorsan beilleszthető kód részlet, amelyet akkor használhat, ha be kell állítania az Access-Control-Allow-Origin fejléceket a .htaccess fájljában.

Az Access-Control-Allow-Origin meghatározása:

Biztonsági okokból a böngészők korlátozzák a szkripteken belül kezdeményezett, több forrásból származó HTTP-kéréseket. Például az XMLHttpRequest ugyanazt a származási házirendet követi. Tehát egy XMLHttpRequest alkalmazást használó webalkalmazás csak HTTP kéréseket küldhet a saját domain nevére. A webes alkalmazások fejlesztése érdekében a fejlesztők arra kérték a böngészőgyártókat, hogy engedélyezzék az XMLHttpRequest számára, hogy domain nevek közötti kéréseket engedélyezzék.

[…]

A CORS a webszerverekhez a domain nevek közötti hozzáférés-vezérlést biztosít, amelyek lehetővé teszik a biztonságos domain nevek közötti adatátvitelt.

Access-Control-Allow-Origin

A CORS BEÁLLÍTÁSA

A használatához tehát be kell állítania a megfelelő fejléceket. A.htaccessfájlban adja hozzá az alábbi kódrészletet:

Header Set Access-Control-Allow-Origin "https://az.on.kulso.eroforrasanak.cime.vegzodes"

A fentiek lehetővé teszik a fejlécet küldő webhely számára, hogy erőforrásokat (például AJAX kéréseket vagy webes betűtípusokat) kérjen a „https: //az.on.kulso.eroforrasanak.cime.vegzodes” domain név alatt elhelyezett weboldalról. Vegye figyelembe a protokollt, ez – ebben az esetben – csak a HTTPS kéréseket teszi lehetővé. A HTTP -kérések továbbra is blokkolva lesznek.

A CORS LETILTÁSA

Ha teljesen le szeretné tiltani a CORS-t (amit nem javaslunk, azonban tesztelés esetében hasznos lehet) akkor az alábbi kódrészletet helyezze el a.htaccessfájlban:

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

Mint fentebb említettük, biztonságosabb úgy beállítani, hogy az Access-Control-Allow-Origin tartalmazza azokat a domain neveket, amelyekről az alkalmazás adatokat kérhet (vagy adatokat küldhet).

A CORS ENGEDÉLYEZÉSE TÖBB DOMAIN NÉVRE VONATKOZÓAN

Ha több domain neve van, és CORS fejlécet szeretne beállítani az adott domain név alapján, akkor használhatja az alábbi kódrészletet a.htaccessfájlban:

SetEnvIf Origin "http(s)?://(www\.)?(google.com|staging.google.com|development.google.com)$" AccessControlAllowOrigin=$0
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin

Mivel a fejlécben csak egy CORS domain név lehet, ezért létre kell hoznia egy változót, ha ezt több helyen szeretné használni.