Mam stronę uruchomioną na pixie.strd6.com i obrazy hostowane przez Amazon S3 z CNAME dla images.pixie.strd6.com.HTML5 Canvas getImageData i ta sama polityka Origin
Chciałabym móc wyciągnąć te obrazy na płótnie HTML5 i wywołać metodę getImageData ale rzuca Error: SECURITY_ERR: DOM Exception 18
Próbowałem ustawienie window.domain = "pixie.strd6.com"
, ale to nie ma znaczenia.
Dodatkowo $.get("http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982", function(data) {console.log(data)})
rzuca również błąd: 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.
Idealnie HTML5 canvas nie będzie blokować powołanie getImageData
z subdomen. Przyjrzałem się ustawianiu nagłówka Access-Control-Allow-Origin w S3, ale nie udało się.
Każda pomoc lub obejście są mile widziane.
Ta sama polityka pochodzenie jest najgłupszą rzeczą kiedykolwiek . Jeśli jestem złośliwym kodem JavaScript i chcę załadować szkodliwe dane, po prostu umieściłem na stronie dowolny tag skryptu, a nie dane "s3kri7 c0mm4nd5" z danych obrazu. Jedynymi osobami, które chcą odczytać dane obrazu, są deweloperzy po stronie klienta. Jeśli chodzi o kradzież "ściśle tajnych danych obrazu" z VPN, jeśli twoja strona jest już xss'd, to keylogowanie będzie znacznie bardziej niszczycielskie. Cała ta "ochrona" służy jedynie zaostrzeniu prawowitych programistów próbujących uzyskać JavaScript do wykonywania najprostszych zadań. –
SPO chroni przed legalnym wektorem ataku tutaj.Załóżmy, że masz prywatny album ze zdjęciami w witrynie do udostępniania zdjęć (lub sprawdź obrazy zapisane w bankowości internetowej): bez brudnej ochrony na płótnie, * każda strona w sieci *, którą odwiedzasz, będzie mogła pobrać te obrazy, jeśli znają Adres URL i użytkownik był zalogowany, ponieważ żądania wysłane z '' tagów ** używają plików cookie **. Problemem tutaj nie są zagrożone witryny XSS; Problem polega na tym, że * każda strona w sieci * może pobierać i czytać obrazy na płótnie, korzystając z plików cookie uwierzytelniających. – apsillers
** tl; dr: ** W tej chwili każda witryna w wielu domenach * może wyświetlać * twoje obrazy wymagane przez auth (zdjęcia prywatne, obrazy kontrolne itp.) W tagu '', ale dzięki SOP, nie mogą * odczytać * zawartości tych obrazów w obszarze roboczym, aby np. Zapisać je na serwerze. – apsillers