Iframe - пусть пользователь выбирает src - есть проблемы с безопасностью? - PullRequest
4 голосов
/ 26 сентября 2010

Я хочу разрешить зарегистрированным пользователям просматривать любой сторонний контент через IFrame.

Что-то вроде разрешения пользователям Gmail просматривать любой веб-календарь, который они хотят, внутри IFrame.

Позволяет ли пользователям устанавливать IFrame Src Url проблему безопасности?

С какими проблемами безопасности я столкнусь?

Любая другая необходимость знать Советы по использованию IFrames будут приветствоваться.

Спасибо

Рафаэль

Ответы [ 3 ]

3 голосов
/ 26 сентября 2010

Продолжая сказанное Джо:

сайт не может причинить вам вред. но пользователь.

Это центральный момент: пока выбранный src используется и просматривается только пользователем, который его ввел, не говоря уже о. Все, что может сделать пользователь, имеет такие же эффекты, как если бы он открыл src в другой вкладке браузера. Вы не должны возражать против этого.

Все становится иначе, если другие пользователи также могут видеть src. Поначалу это очевидно, но представьте себе следующее: src по какой-то причине кэшируется в хеш-адресе URL, поэтому ваша страница использует URL-адреса, такие как

http://www.myapp.com/view#http://www.thesrcpage.com

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

Потенциальные жертвы могут открыть ссылку, потому что они доверяют вам. И они будут винить вас, если ссылка причинит им вред.

3 голосов
/ 26 сентября 2010

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

, но если вы хотите защитить своих клиентов от почтового кода, который находится на сторонних сайтах, загружаемых через iframe, ответ таков: iframe вполне безопасен.Политика xss / same-source-origin довольно хороша в эти дни.

ну, конечно, такая вещь всегда является риском.Вам не нужно бояться содержания в iframe.я бы порекомендовал проверить содержимое или тег src.сделайте его действительным URL, и тогда у вас все будет в порядке.

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

Вы можете загрузить источник внешнего сайта на свой сервер и вывести его, установив атрибут base href для внешнего сайта, так что все загрузится правильно, затему вас есть возможность проверить / манипулировать документом.но это довольно сложно, если вы хотите поддерживать продвинутые вещи, такие как javascript и т. д.

, чтобы подвести итог: сайт не может действительно навредить вам.но пользователь.но если пользователь указывает плохой сайт, то это действительно его / ее проблема ....

2 голосов
/ 26 сентября 2010

Убедитесь, что это реальный URL, а не что-то вроде javascript:doSomethingNasty();, и тогда вы должны быть в безопасности. Если страница принадлежит другому домену, она изолирована от страницы и не может получить доступ к другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...