У меня есть сайт, работающий по адресу pixie.strd6.com, и изображения, размещенные на Amazon S3, с CNAME для images.pixie.strd6.com.
Я хотел бы иметь возможность рисовать эти изображения на холсте HTML5 и вызывать метод getImageData, но он выдает Error: SECURITY_ERR: DOM Exception 18
Я попытался установить window.domain = "pixie.strd6.com"
, но это не помогло.
Кроме того, $.get("http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982", function(data) {console.log(data)})
также выдает ошибку: 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.
В идеале холст HTML5 не блокировал бы вызов getImageData
из поддоменов. Я пытался настроить заголовок Access-Control-Allow-Origin в S3, но безуспешно.
Любая помощь или обходные пути приветствуются.
<img>
тегов, используют ваши файлы cookie. Проблема здесь не в скомпрометированных XSS-сайтах; проблема в том, что любая страница в Интернете может получать и читать изображения на холсте, используя ваши файлы cookie для аутентификации. - person apsillers   schedule 19.12.2012<img>
, но, благодаря SOP, они не могут прочитать содержимое этих изображений на холсте, чтобы, например, сохранить их на сервере. - person apsillers   schedule 19.12.2012document.imd={};
, потомdocument.imd[elementId] = document.getElementById(elementId).getContext("2d").getImageData(0,0,img.width, img.height);
и только после этого запущуdocument.getElementById(elementId).getContext("2d").drawImage(img,0,0)
. Что тогда будет делать браузер, если я получу ссылку на данные изображения ДО того, как они будут испорчены? - person Arioch 'The   schedule 08.05.2013