Chiamate AJAX verso domini diversi
martedì 22 gennaio 2008Chi "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
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.
In alternativa puoi abbonarti alla newsletter, riceverai un'email ogni volta che verrà pubblicato un nuovo post. Il tuo indirizzo email sarà gestito da Feedburner.












22 gennaio 2008 alle 09:30
Vedi anche: Tunneling e proxy server per Ajax e non solo
22 gennaio 2008 alle 10:27
Interessante, anche se non sono un grande estimatore degli script PERL.
Grazie!