cosa impedisce l'invio di "$ .post" da un dominio all'altro?

1

Ho un sito web nella scheda chromium e un altro sito web in un'altra scheda, Sto eseguendo un comando a post singolo nel secondo sito web - $ .post (...); al primo sito web. Originariamente non funziona (ottenendo: "No l'intestazione Access-Control-Allow-Origin" è presente sulla risorsa richiesta. Origin 'null' non è quindi consentito l'accesso "), ma se si esegue chromium con" --disable-web- sicurezza --user-data-dir = ~ / .chrome-tmp "indica che invierà il messaggio. la domanda è, cosa è cambiato esattamente così dopo aver messo quelle bandiere il messaggio viene inviato? Per prima cosa ho pensato che disabilitasse "la stessa politica di origine" ma dopo alcune letture sembra che non abbia niente a che fare con questo.

    
posta דניאל ניסחיזוב 13.07.2017 - 00:55
fonte

1 risposta

3

Il flag --disable-web-security impedirà a Chromium di applicare la stessa politica di origine (SOP), che ti consentirà di leggere la risposta della tua richiesta POST incrociata.

Tuttavia, tieni presente che la richiesta POST viene sempre inviata , indipendentemente dalla politica della stessa origine. Tutto ciò che avviene sul server per quella richiesta avverrà ancora (creazione di una risorsa, aggiornamento di qualcosa, ecc.) Questo è il significato delle scritture interdominio:

The simplest explanation of SOP is that Origin “A” has the following permissions:

  • Read of resources from Origin “B”: Deny
  • Write to Origin “B”: Limit
  • Execute of resources from Origin “B”: Allow

Fonte: link

Ulteriori informazioni su "scrittura limitata" possono essere trovate su parte 2 di quel post del blog .

Anche la documentazione di Mozilla lo spiega bene, usando una terminologia diversa. (jQuery $.post utilizza XMLHttpRequest )

The same-origin policy controls interactions between two different origins, such as when you use XMLHttpRequest or an <img> element. These interactions are typically placed in three categories:

  • Cross-origin writes are typically allowed. Examples are links, redirects and form submissions. Certain rarely used HTTP requests require preflight.
  • Cross-origin embedding is typically allowed. Examples are listed below.
  • Cross-origin reads are typically not allowed, but read access is often leaked by embedding. For example you can read the width and height of an embedded image, the actions of an embedded script, or the availability of an embedded resource.

Fonte: link

    
risposta data 13.07.2017 - 07:01
fonte

Leggi altre domande sui tag