TamperMonkey è possibile che un sito blocchi XMLHttpRequest

di il
1 risposte

TamperMonkey è possibile che un sito blocchi XMLHttpRequest

Ciao a tutti
Sto utilizzando su TamperMonkey, questo
var HttpClient = function() {
    this.get = function(aUrl, aCallback) {
        var anHttpRequest = new XMLHttpRequest();
        anHttpRequest.onreadystatechange = function() {
            if (anHttpRequest.status == 200){
                alert(anHttpRequest.responseText);
            }else{
                alert("no");
            }
        }

        anHttpRequest.open( "GET", aUrl, false );
        anHttpRequest.send( null );
    }
}

var client = new HttpClient();
client.get('https://***/alert/annullamenti.php', function(response) {
});
'https://***/alert/annullamenti.php contiene semplicemente un echo "ciao"; come prova
Si deve attivare in qualsiasi pagina io entri, all'avvio.
(// @match *://*/*)

Tenendo lo script attivo, se vado direttamente su 'https://***/alert/annullamenti.php mi compare prima l'alert no, poi l'alert con scritto "ciao"...
Se metto true, mi compare prima alert no, poi 2 alert vuoti, e poi 1 alert ciao...

ho provato su chrome a fare F12
mi compare questo
userscript.html?name=Annullamenti.user.js&id=1e30bb78-1d24-463f-8e5a-9cf52732e32e:26 Access to XMLHttpRequest at 'https://****/alert/annullamenti.php?a=a' from origin 'https://www.google.i' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

se lo script lo tengo attivo mentre sono su un altro sito, allora non funziona, mi compare sempre l'alert no


Ho cercato No 'Access-Control-Allow-Origin su google e da questo che sto intuendo è proprio il sito che mi blocca questa richiesta... non si può ovviare a questo problema? E poi perché lo fa risultare come se stessi collegando il sito a quell'altro sito... Non può fare in modo che sia io e basta a collegarmi a quel sito così come ci stessi entrando direttamente? Perché è il sito sul quale sto in quel momento che mi sta bloccando?

possibile sia qui la soluzione?
(CORS,case%20for%20CORS%20is%20simple.
Devo inviare una richiesta CORS?

Che poi io non devo interagire assolutamente sul sito dal quale parte lo script.
In realtà a prescindere da quale scheda su Chrome si stia navigando, mi serve collegarmi al mio server per fare comparire un alert derivante dalla risposta del mio server.
Possibile che il sito sul quale si sta navigando in un dato momento si metta in mezzo e non mi faccia comunicare con il mio server??

1 Risposte

  • Re: TamperMonkey è possibile che un sito blocchi XMLHttpRequest

    melixo ha scritto:


    Tenendo lo script attivo, se vado direttamente su 'https://***/alert/annullamenti.php mi compare prima l'alert no, poi l'alert con scritto "ciao"...
    Se metto true, mi compare prima alert no, poi 2 alert vuoti, e poi 1 alert ciao...
    E mi sembra abbastanza normale come comportamento.

    melixo ha scritto:


    se lo script lo tengo attivo mentre sono su un altro sito, allora non funziona, mi compare sempre l'alert no
    Perché inserire quell'alert inutile quando si può loggare sulla console informazioni ben più significative, estraendole dalla richiesta, come lo status code dell'operazione o il contenuto della risposta?

    melixo ha scritto:


    Ho cercato No 'Access-Control-Allow-Origin su google e da questo che sto intuendo è proprio il sito che mi blocca questa richiesta... non si può ovviare a questo problema? E poi perché lo fa risultare come se stessi collegando il sito a quell'altro sito... Non può fare in modo che sia io e basta a collegarmi a quel sito così come ci stessi entrando direttamente? Perché è il sito sul quale sto in quel momento che mi sta bloccando?
    Ho riletto tre volte questo pezzo, ma dal fatto che non si capisca nulla delle domande emerge un segnale che la situazione non è chiara nemmeno per te.

    Il sito che stai invocando tramite XMLHttpRequest nello script è gestito e/o scritto da te?
    Oppure è un sito di terze parti?
Devi accedere o registrarti per scrivere nel forum
1 risposte