¿Qué impide el envío de "$ .post" de un dominio a otro?

1

Tengo un sitio web en la pestaña de cromo, y otro sitio web en otra pestaña, Estoy ejecutando el comando de publicación única en el segundo sitio web - $ .post (...); al primer sitio web. Originalmente no funciona (obteniendo: "No hay un encabezado 'Access-Control-Allow-Origin' presente en el recurso solicitado. Por lo tanto, no se permite el acceso al origen 'null'), pero si se ejecuta cromo con" --disable-web- seguridad --user-data-dir = ~ / .chrome-tmp "señala que enviará la publicación. la pregunta es, ¿qué cambió exactamente así que después de colocar esas banderas se envía la publicación? Primero pensé que desactivaba "la misma política de origen", pero después de algunas lecturas parece que no tiene nada que ver con eso.

    
pregunta דניאל ניסחיזוב 13.07.2017 - 00:55
fuente

1 respuesta

3

El indicador --disable-web-security evitará que Chromium aplique la política de mismo origen (SOP), que le permitirá leer la respuesta de su solicitud POST de origen cruzado.

Sin embargo, tenga en cuenta que la solicitud POST siempre se envía , independientemente de la política del mismo origen. Cualquier cosa que tenga lugar en el servidor para esa solicitud todavía ocurrirá (creando un recurso, actualizando algo, etc.) Esto es lo que significa que se permiten escrituras entre dominios:

  

La explicación más sencilla de SOP es que el Origen “A” tiene los siguientes permisos:

     
  • Lectura de recursos de Origen "B": Denegar
  •   
  • Escribir en el origen "B": Límite
  •   
  • Ejecución de recursos desde el origen "B": Permitir
  •   

Fuente: enlace

Puede encontrar más información sobre "escritura limitada" en parte 2 de esa publicación de blog .

La documentación de Mozilla también lo explica bien, utilizando una terminología diferente. (jQuery $.post usa XMLHttpRequest )

  

La política del mismo origen controla las interacciones entre dos orígenes diferentes, como cuando se usa XMLHttpRequest o un elemento <img> . Estas interacciones generalmente se ubican en tres categorías:

     
  • Por lo general, las escrituras de origen cruzado están permitidas. Los ejemplos son enlaces, redirecciones y envíos de formularios. Ciertas solicitudes HTTP que rara vez se utilizan requieren verificación previa .
  •   
  • Por lo general, se permite la incrustación de origen cruzado. Los ejemplos se enumeran a continuación.
  •   
  • Las lecturas de origen cruzado generalmente no están permitidas, pero el acceso de lectura a menudo se filtra mediante incrustaciones. Por ejemplo, puede leer el ancho y el alto de una imagen incrustada, las acciones de un script incrustado o la la disponibilidad de un recurso incorporado .
  •   

Fuente: enlace

    
respondido por el rink.attendant.6 13.07.2017 - 07:01
fuente

Lea otras preguntas en las etiquetas