Я оцениваю перемещение сторонних JavaScripts в песочницы iFrames, чтобы не дать им доступ к данным главной страницы.Таким образом, если сторонний скрипт скомпрометирован, могут быть украдены только данные в iFrame.
Одним из потоков, которые мы хотим переместить, является форма авторизации.Прямо сейчас у нас есть JavaScript с Google reCaptcha, который запускает поток регистрации на наших серверах.Я подумал о том, чтобы переместить всю форму и перенести js в «песочницу» iFrame.Таким образом, я могу изолировать javascript reCaptcha от остальной части страницы.Вход в систему должен осуществляться внутри iFrame, и в некотором роде этот iFrame отправит файлы cookie или сеанс на главную страницу.
Как вы думаете, это правильный сценарий?Моя главная проблема заключается в том, будет ли скрипт reCaptcha работать в изолированном iFrame.
Позвольте мне включить 2 сценария дизайна.Сценарий 1:
- reCaptcha выделяется в iFrame.Как только reCaptcha разрешен, он передает ключ recaptcha в родительский фрейм, и он устанавливается в форме.Один из способов сделать это - через API PostMessage.
- Таким образом, код reCaptcha не имеет доступа даже к форме авторизации.
Сценарий 2 (если сценарий 1 недействителен):
- Вся форма авторизации изолирована в iFrame.В этом случае код reCaptcha имеет доступ к форме входа, но не ко всем страницам.
Сценарий 1
Сценарий 2
Для обоих сценариев после отправки формы с ключом reCaptcha,должен обеспечить способ передачи файлов cookie или необходимых ключей на главную страницу без перезагрузки.Это может быть достигнуто также с помощью postMessage.
С уважением,