Sobes.tech
Junior — Middle

Можете ли објаснити шта је CORS и зашто је потребан у веб развоју?

sobes.tech АИ

Одговор од АИ

CORS (Cross-Origin Resource Sharing) je mehanizam bezbednosti pregledača koji omogućava kontrolu nad tim kojim spoljnim domenima server vašeg veb sajta dozvoljava pristup resursima.

Podrazumevano, pregledači blokiraju zahteve sa jednog domena na drugi (zahtevi između domena) zbog politike istog porekla (Same-Origin Policy). CORS omogućava serveru da eksplicitno dozvoli ili zabrani takve zahteve.

Kako funkcioniše:

  • Klijent (pregledač) šalje zahtev sa zaglavljem Origin, koje ukazuje na izvorni domen.
  • Server proverava taj domen i, ako dozvoljava pristup, odgovara sa zaglavljem Access-Control-Allow-Origin, koje ukazuje na dozvoljeni domen ili * za sve.
  • Ako zaglavlje nedostaje ili domen nije dozvoljen, pregledač blokira pristup odgovoru.

Primer konfiguracije CORS u ASP.NET Core:

public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder => builder.WithOrigins("https://example.com")
                              .AllowAnyHeader()
                              .AllowAnyMethod());
    });
}

public void Configure(IApplicationBuilder app)
{
    app.UseCors("AllowSpecificOrigin");
    // ostali middleware
}

Na ovaj način, CORS pomaže sigurno upravljanje pristupom API-ju ili resursima sa različitih domena.