1. Cos’è la Same-Origin Policy (SOP)?
La Same-Origin Policy (SOP) è la barriera di sicurezza del browser progettata per isolare contesti non attendibili. In base alla SOP, il codice su https://banca.it non può leggere cookie o risposte da https://malevolo.it.
Due URL hanno la stessa origine se e solo se Protocollo, Host (Dominio) e Porta sono identici:
https://api.example.com:443 vs https://example.com:443 → CROSS-ORIGIN (Sottodominio divergente)http://example.com:80 vs https://example.com:443 → CROSS-ORIGIN (Protocollo divergente: HTTP vs HTTPS)https://example.com/app vs https://example.com/api → STESSA ORIGINE (Percorsi diversi consentiti)2. In che Modo CORS Consente l’Accesso Cross-Origin Sicuro
Il CORS (Cross-Origin Resource Sharing) consente ai server di dichiarare tramite header HTTP quali origini terze possono leggere i propri dati:
- Access-Control-Allow-Origin: Specifica le origini consentite (es.:
https://app.curious-techie.com). - Access-Control-Allow-Methods: Metodi HTTP permessi (es.:
GET, POST, PUT, DELETE). - Access-Control-Allow-Headers: Header di richiesta ammessi (es.:
Content-Type, Authorization). - Access-Control-Max-Age: Durata (in secondi) della cache del preflight OPTIONS.
3. Richieste Preflight OPTIONS e Caching
Per richieste complesse (invio di JSON con application/json o header Authorization), il browser invia automaticamente una richiesta preliminare HTTP OPTIONS preflight per verificare i permessi.
4. La Trappola di Credenziali e Wildcard (*)
Un errore comune durante la condivisione di sessioni autenticate tra origini:
I browser bloccano categoricamente le risposte se il wildcard * è impiegato con credenziali attive. Il server deve restituire l’header Origin specifico del chiamante previa convalida.