2013-05-05 3 views
2

Я хочу, чтобы пользователь мог отправлять и отображать ненадежный HTML-код в приложении, например, на example example.com.com. Чтобы предотвратить проникновение вредоносного XSS в файлы cookie пользователя, идея заключалась в том, чтобы открыть HTML в iframe, который использует другой домен, скажем, example2.com. Но для того, чтобы увидеть этот HTML, пользователь должен быть зарегистрирован на example1.com. Как отображать только HTML в iframe на example2.com только в том случае, если пользователь вошел в систему и прошел проверку подлинности на example1.com?Перекрестная аутентификация домена через iframe без входа в систему

Я думал, может быть, используя секрет, пройденный через postMessage, который отправляет форму для визуализации HTML без установки cookie. В любое время, когда я хотел обновить содержимое iframe через JavaScript, я просто воссоздал iframe, а затем снова передал секрет и снова разместил форму, чтобы отобразить ненадежный HTML. Вредоносный JavaScript не будет иметь доступа к тайне, как это существовало только на предыдущей странице, на которой была размещена форма. Будет ли это хорошим решением или что-то лучше?

ответ

3

Каждый раз, когда пользователь регистрировался в example1.com, вы создаете для него токен.

Чтобы позвонить своему IFrame использование контента что-то вроде example2.com/view.php?page=1 & знак = dsjahdjkhjh331

Так вредоносный скрипт только может получить маркер, а не печенье. И если вы создаете «фингерпринт» для токена, например, concat пользователь с адресом запроса (IP) + браузер, кража токена такая же, как кража случайной строки.

+0

Да, это сработает. Благодаря! –