¿Por qué no puedo forzar la descarga del lienzo contaminado y por qué es un problema de seguridad?

¿Por qué no puedo forzar la descarga del lienzo contaminado y por qué es un problema de seguridad?

Tome esta situación de ejemplo: en example.com (mi dominio) puedo descargar un archivo JSON y leerlo.

Puedo cargar una imagen con un src de example.org (dominio de otra persona). Puedo dibujar esa imagen en un lienzo (en ese momento se contamina), y aún puedo dibujar encima de ese lienzo.

Un visitante de mi página puede hacer clic derecho en ese lienzo y guardar la imagen como.

¿Es la mancha solo para evitar que los datos de la imagen entren en JavaScript?

¿Por qué está bien para datos (JSON) y no está bien para imágenes?

En JavaScript, puedo iniciar automáticamente una descarga de un lienzo convirtiéndolo en URL de datos, creando un elemento de enlace y haciendo que JavaScript haga clic en él.

¿Hay alguna manera de lograr el mismo resultado sin un "problema de seguridad"? Quiero descargar automáticamente el lienzo como si el usuario hubiera hecho clic con el botón derecho en "guardar imagen como" No necesito los datos de la imagen en JavaScript. Como solo dibuja un diagrama en la parte superior de un lienzo que ha sido contaminado por una imagen base de otro dominio.

Respuestas a la pregunta(2)

Su respuesta a la pregunta