Tengo un sitio que se ejecuta en pixie.strd6.com y las imágenes alojadas a través de Amazon S3 con un CNAME para images.pixie.strd6.com.HTML5 Canvas getImageData y política de mismo origen
Me gustaría ser capaz de dibujar estas imágenes a un canvas de HTML5 y llame al método getImageData pero lanza Error: SECURITY_ERR: DOM Exception 18
He intentado fijar window.domain = "pixie.strd6.com"
, pero que no tiene ningún efecto.
Además, $.get("http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982", function(data) {console.log(data)})
también genera un error: XMLHttpRequest cannot load http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982 . Origin http://pixie.strd6.com is not allowed by Access-Control-Allow-Origin.
lienzo Idealmente HTML5 no bloquearía llamando getImageData
de subdominios. He buscado establecer un encabezado Access-Control-Allow-Origin en S3, pero no lo he logrado.
Cualquier ayuda o solución alternativa son muy apreciadas.
Esta misma política de origen es la cosa más tonta nunca . Si soy un componente malicioso de JavaScript y quiero cargar datos maliciosos, solo incluiré una etiqueta de script arbitraria en la página, sin leer "s3kri7 c0mm4nd5" a partir de los datos de imagen. Las únicas personas que quieren leer datos de imagen son desarrolladores del lado del cliente. En cuanto a robar "datos de imágenes secretas" de vpn, si su sitio ya ha sido descodificado, el registro de teclas será mucho más devastador. Toda esta "protección" sirve para agravar a los desarrolladores legítimos que intentan obtener JavaScript para hacer las tareas más sencillas. –
El SOP protege contra un vector de ataque legítimo aquí.Supongamos que tiene un álbum de fotos privado en un sitio para compartir fotos (o ver imágenes almacenadas en su banca en línea): sin protección de lona sucia, * cualquier página en la Web * que visite tendría el poder de captar esas imágenes si conocieran el URL e ingresó, porque las solicitudes enviadas desde '
' etiquetas ** usan sus cookies **. El problema aquí no está comprometido con los sitios XSS; el problema es que * cualquier página en la Web * podría buscar y leer imágenes en un lienzo utilizando sus cookies de autenticación. –
apsillers
** tl; dr: ** Tal como está ahora, cualquier sitio de dominios cruzados puede * mostrar * sus imágenes requeridas por autenticación (fotos privadas, imágenes de cheques, etc.) en una etiqueta '
', pero, gracias a la SOP, no pueden * leer * el contenido de esas imágenes en un lienzo para, por ejemplo, guardarlas en un servidor. –
apsillers