суббота, 20 ноября 2010 г.

Приключения: Security vs щедрость гугла

Как вы уже заметили я выкладываю в блоггере свои посты. Блоггер либо принадлежит гуглу, либо они хорошие друзья :) У халявных блогов гугла есть замечательная возможность использовать небольшое файловое хранилище для своих целей. В недавнем посте я выложил свою работу, и долго бился надо проблемой загрузки файлов плеером из хранилища. По хорошему проблема как выяснилось не решается, нужен свой хостинг :(
Но для меня пока не актуально.

Так что собственно я хотел сообщить тогда? Да так, самую малость. Проблема состоит в том, что контент загруженный без разрешения, нельзя менять (бедааа). Сначала вываливается ошибка об отсутствии флага проверки файла политики, установленного в true (checkPolicyFile). Ну а после того как вы его установите (не особо напрягая извилины) вы заполучите еще одну ошибку: "SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content ...". Начнете рыть всякие ссылки из поисковиков :)
Но все разгадывается вот отсюда:

"Redirect strictness
Impact: Anyone using server redirects should review their SWF content to ensure that policy files continue to work as expected.
Description: If the web server redirects the request for a policy file to a URL within the same domain, Flash Player will accept the policy file, but it will use the final URL (post-redirect) as if Flash Player had originally requested that final URL. Permissions will only be granted based on the location of the policy file's final URL. For example, if http://www.example.com/directoryA/crossdomain.xml redirected to http://www.example.com/directoryB/crossdomain.xml, Flash Player would allow access to anything within directoryB but would not allow access to directoryA.
Redirects to policy files outside the originally requested domain will continue to cause policy files to be ignored by Flash Player."

Кому стало не понятно поясняю пэ-русски. Несмотря на то, что гугол вроде бы позаботился об проблемах с секьюрностью и положил такую вот XML аж вот сюда:

"* If you want to prevent unauthorized parties from creating a policy file on your server, you can use the meta-policy by-content-type, allowing any file on the server with the content-type text/x-cross-domain-policy to be used as a policy file:
<cross-domain-policy>
<site-control permitted-cross-domain-policies="by-content-type"/>
</cross-domain-policy>"

А я как честный и порядочный человек создал и положил в свою директорию https://sites.google.com/site/*/files/crossdomain.xml, в котором все разрешил ;). Так черт бы побрал этот гугол редиректить ссылки на файлы. Политика игнорится из левых директорий, и происходит ругань на прямое чтение контента.
Как-то это странно, но ругань стояла только на картинки. swf-ки без проблем грузились и контент был доступен (видимо в их метаданных все было разрешено).

Дублировать контент все-таки можно. И после этого скорей всего даже изменять (не пробовал), посредством метода loadBytes(..).
На этом мои мемуары иссякают.

3 комментария:

  1. > Блоггер либо принадлежит гуглу, либо они хорошие друзья :)

    ня? http://www.blogger.com/about

    ОтветитьУдалить
  2. Пипец, а где решение проблемы? Или решения нет?

    ОтветитьУдалить