Chiamate AJAX verso domini diversi

Chi "gioca" tutti i giorni con AJAX si sarà trovato sicuramente nella condizione di voler chiamare tramite l'oggetto XMLHttpRequest uno script presente su un altro dominio e successivamente elaborarne i risultati... Senza riuscirci.

Perché? Semplice. La "colpa" è tutta della "same origin policy", che per farla breve:

E' stata introdotta come meccanismo di protezione in modo da isolare tra loro aplicazioni web provenienti da domini diversi (assumendo che domini diversi stia per creatori diversi): questo per evitare contatti con domini a noi ignoti e pertanto potenzialmente pericolosi

E-time

La "same origin policy" è un'importantissima misura di sicurezza in ambito web (addirittura risale ai tempi di Netscape 2.0), ma a volte può essere fastidiosa: per aggirarla ultimamente si sono diffusi diversi script (solitamente basati su PHP e librerie cURL) che fanno da "proxy" per il recupero di dati: la richiesta AJAX viene fatta al proxy presente sul nostro stesso dominio che si occuperà di "scaricare" il risultato e rigirarlo al nostro JavaScript.

Uno di questi script (scritto in PERL) è Ajax-Cross-Domain.

ACD (per abbreviare) permette di effettuare chiamate AJAX da un dominio verso un altro, senza doversi preoccupare della "same origin policy". L'installazione è molto semplice e i risultati sono assicurati, l'esempio fornito (che richiamata il sorgente HTML dell'homepage di Google) è facile da capire e riadattare ai nostri progetti.

, ,
1 Star2 Stars3 Stars4 Stars5 Stars (2 voti, media: 5)
Loading ... Loading ...
Condividi

Articoli che potrebbero interessarti

Ajax for dummies
15 Links AJAX
Oggi qui, domini là
Arriva il cellulare di Skype
Cercasi programmatore AJAX

2 Commenti per “Chiamate AJAX verso domini diversi”

  1. MyAvatars 0.2 Giovambattista Fazioli ha detto:

    Vedi anche: Tunneling e proxy server per Ajax e non solo

  2. MyAvatars 0.2 Davide ha detto:

    Interessante, anche se non sono un grande estimatore degli script PERL.
    Grazie!

Lascia un commento



Chiudi
Invia e-mail