Действительно ли WriteableBitmap * в Silverlight 4 наносит вред легальному междоменному доступу во имя DRM? - PullRequest
4 голосов
/ 27 июля 2010

В этой теме годичной давности объясняется, что WriteableBitmap заблокирует доступ на чтение, когда любая его часть будет получена из внешнего домена - скажем, бесплатный сервер изображений.

Далее уточняется, что это для "DRM".Я предполагаю, что существует большая угроза того, что кто-то напишет в Silverlight фильм-риппер, который включает в себя фильм из другого домена, а затем перехватывает его ... за исключением осознания того, что вы можете просто переписать кровавый xap, когда он идет по проводам, а затемэто же домен!Но это ни здесь, ни там.

В любом случае, очевидно, я пытаюсь использовать WritableBitmap для экспорта скриншота текущей настройки пользователя;но я остановлен этой междоменной проблемой.

Действительно ли не поддерживается способ сделать это в последней версии Silverlight?Нет файла crossdomain.xml или clientaccesspolicy.xml?Разве это не наносит ущерб для Silverlight - гигантского «Винт Ты», ставящего нерешительные контрольно-пропускные пункты безопасности, которые мешают разработчикам, но не останавливают атакующих?

Редактировать : Этот вопрос идентичен этому вопросу здесь .

Ответы [ 3 ]

5 голосов
/ 03 августа 2010

Ваше мнение разделяют многие, многие разработчики, пытающиеся сделать это в законных целях. Есть некоторые обходные пути, все они либо хакерские, либо странные. Но, наверное, это лучшее, что я видел: Снимок экрана в SIlverlight 4.0 .

Просто прочитайте еще раз и увидите, что вы не ищете решение crossdomain.xml. На этой странице есть несколько других опций (опять же, нет никакого решения "отлично"): http://betaforums.silverlight.net/forums/t/118030.aspx

Кроме того, не уверен, что это вариант, но ваше приложение как приложение OOB не будет ограничено проверками безопасности в ClientAccessPolicy.xml или CrossDomain.xml. Является ли Out-of-Browser опцией для вас?


EDIT: После дальнейшего просмотра поста и комментариев, я полагаю (Том, ​​пожалуйста, подтвердите это), что нет необходимости делать скриншот пользовательского экземпляра приложения SL, работающего на собственной коробке (что-то вроде Customer Support в Silverlight очень хорошо позаботится).

Скорее, это снимок экрана пользователя (такой же, как PrtSc -ish). В этом случае это намного сложнее, но не невозможно. Руи показывает, как он это делает здесь , но это зависит от компонента, уже находящегося на компьютере пользователя. Джереми Гет стал еще более креативным с Silverlight 4 Hack: используйте Native / Desktop CLR без регистрации COM , что обеспечит эффективный доступ.

0 голосов
/ 09 августа 2010

Как объяснено в идентичный вопрос единственный способ получить silverlight, позволяющий получить содержимое из записываемого растрового изображения без любого из следующего:

  • Вне браузера
  • Сервис / Код / Приложение / Корневой GAC, установленный в противном случае на компьютере пользователя
  • Повышенное доверие

isчтобы прокси-контент и обмануть Silverlight, думая, что это все из одного домена .

0 голосов
/ 04 августа 2010

Такое поведение WritableBitmap не имеет ничего общего с DRM и не имеет ничего общего с безопасностью.Если на скриншоте, который вы пытаетесь сделать, изображен элемент изображения с содержимым из другого домена, то у этого домена должен быть файл crossdomain.xml с соответствующими разрешениями.Вы можете связаться с владельцем домена и попросить его поместить crossromain.xml в корень своего домена.

В качестве альтернативы, приложение Full-Trust OOB должно сработать, поскольку оно не проверяет наличие crossdomain.xml.

Хорошо, если у вас есть

...