2012-04-10 2 views
1

Я хочу открыть свою небольшую платформу для разработчиков, чтобы они могли создавать приложения, которые можно было бы вставить на наш сайт как iframe. Подобно тому, как работает facebook, но нет, я не пытаюсь создать еще один Facebook :). Насколько я понимаю, разработчики могут создавать приложения facebook с использованием iframe.Facebook canvas iframe и безопасность

Вопрос: Мне интересно, как насчет безопасности с точки зрения пользователя facebook. Как Facebook препятствует тому, чтобы разработчик приложений не помещал вредоносный код javascript внутри iframe. Я не заметил никакого автоматического механизма, который предотвращает включение в iframe что-то подобное.

Того

+0

Можете ли вы привести какие-либо примеры того, что вас беспокоит сторонняя сторона, пытающаяся сделать это? – nav

+0

Они могут помещать вредоносный код javascript внутри iframe, чтобы атаковать пользовательский компьютер через браузер. Я не уверен, как FB это предотвратит, потому что приложение canvas iframe может быть разработано кем угодно. – user1324762

ответ

1

Нет, это не проблема, я думаю, вы беспокоитесь за бесценок.

Нет проблем с безопасностью, о которых вам нужно беспокоиться о себе, загруженная страница в iframe изолирована песочницей и защищена браузером. Два фрейма не могут связываться друг с другом, так как они не используют один и тот же домен, и современные браузеры блокируют любую попытку выполнить javascript-код в другом фрейме, если два фрейма имеют другой домен.

Дело в том, что проблема с facebook заключалась в том, чтобы решить эту проблему, каждое приложение iframe в facebook загружает facebook javascript sdk, которое затем позволяет вложенному iframe делать запросы в facebook и получать уведомления (по обратным вызовам) при возврате данных.

Что касается «кода вредоносного кода javascript внутри iframe для атаки на пользовательский компьютер через браузер», iframe имеет те же самые точные политики безопасности, которые применяются браузером, как и любая другая страница браузера, если кому-то удается каким-то образом обойти эти политики, тогда у него мало разница, где она загружена, и facebook не применяют никаких других мер безопасности.

Единственное, о чем вам нужно беспокоиться, это то, что скрипты внутри iframe смогут получить доступ к вашим скриптам и/или dom, что не должно произойти, если вы не создадите machnism, который позволит им (как-то обойти кросс-домен политика).

+0

Благодарим вас за ответ. Но я не уверен, понимаю ли вы вас. Вы сказали: «и современные браузеры будут блокировать любую попытку выполнить javascript-код в другом фрейме, если два фрейма имеют другой домен». Простой тест, если я положил на свою страницу это предупреждение о выполнении ('1'). Поэтому javascript не заблокирован. Я не говорю о двух фреймах. Я говорю, если я помещаю одиночную iframe (приложение разработчика) внутри нашей страницы. – user1324762

+0

И так как разработчик имеет свободные руки, как создавать приложения, а затем размещать на своем сайте и размещать их на нашем сайте внутри iframe, они могут поместить некоторый код javascript для вредоносных программ. Это то, о чем я беспокоюсь, потому что iframe будет показан на нашем сайте, даже если он не размещен на нашем сайте. Я не беспокоюсь о связи между iframe и нашей страницей. Этого не произойдет. Они будут общаться только через запрос api внутри своего приложения. – user1324762

+0

Я написал, что js в iframe не сможет связаться с верхним фреймом, например: * parent.someFunction() * будет заблокирован. Очевидно, что нормальный js-код будет в порядке внутри iframe, но это вас не должно волновать, поскольку они ничего не могут сделать. Защищенные «опасности», которые «доступны» для страницы в iframe, точно такие же, как на любой странице, и это не ваша проблема, а разработчики браузеров и эксперты по безопасности. –