Same origin policy szabályozása .htaccess fájl segítségével

Novák Áron küldte be 2012. 11. 18., v - 12:42 időpontban

Tegyük fel, hogy akarunk csinálni egy HTML5-ös alkalmazást, ami egy REST jellegű API-t használna. S mondjuk az alkalmazás egy desktop gépen lévő futtatható állományban kapna helyet egy integrált böngésző-félesében. Ilyen esetben az XMLHttpRequest-jeink a same-origin policy miatt meg fognak hiúsulni. Nemrégiben kellett egy ilyen szituációt debuggolni. A legegyszerűbb megoldás, ha úgyis alkalmazunk autentikációt valamilyen szinten, hogy ha az API oldalon (már ha hozzáférünk) megmondani a böngészőnek, hogy elfogadunk kéréseket bárhonnan, például így:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

Persze a wildcard hostnévnél precízebben is lehet szabályozni az elérést. Röviden ennyi, hátha más is belefut!

Amúgy REST API-k Javascript-beli eléréséhez [jQuery segítségével] jó tudni, hogy a HTTP Method-ot tetszőlegesen állíthatjuk a type paraméterrel, csak a direkt get / post hívások helyett az ajax-ot kell használni..