Lösning för ”Origin is not allowed by Access-Control-Allow-Origin”

Den här raden känns ganska vanlig att komma över och det var även fallet för mig på en sida jag skapade nyligen. Det gör det omöjligt att köra bland annat ajax för att hämta data och det vill du ju kunna göra. Meddelandet uppstår för att servern inte låter dig skicka en request mellan domän. Så vad du vill göra är att öppna upp för detta. För att det bredda lite så inkluderar jag två olika lösningar.

I PHP kan du göra så här för att lösa problemet:

<?php header('Access-Control-Allow-Origin: *'); ?>

Du kan även använda dig av .htaccess för att lösa det:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

Tänk bara på att genom att skriva en ”*” så låter du ALLA domän skicka en request, vilket betyder att någon annan vart som helst ifrån kan göra det. För att ändra på det så kan du byta ut ”*” mot ditt egna domän.

Ett svar till “Lösning för ”Origin is not allowed by Access-Control-Allow-Origin””

  1. Tobias Sjösten skriver:

    Det här är en säkerhetsåtgärd som gör att random JavaScript på sida X inte ska kunna läsa privat data från sida Y. Därför är det bra att tänka efter en gång före innan du öppnar upp dina endpoints med headern Access-Control-Allow-Origin.

    Annars är det här (CORS) så mycket bättre än föregångarhacket JSONP. Helt klart ett steg i rätt riktning mot grymma webbappar. 🙂

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *