Предотвратите блокировку iframe главной страницы бесконечным циклом - PullRequest
0 голосов
/ 24 августа 2018

Я выполняю предоставленный пользователем код JavaScript внутри iframes.Возможно, что исполняемый код был представлен другим пользователем, поэтому его нужно как можно больше помещать в песочницу.Атрибут sandbox в iframe очень помогает, равно как и использование Content-Security-Policy для него.

Однако мне все еще нужен способ предотвратить зависание вредоносного кода на сайте.

Я вижу две возможности, но не знаю, как заставить их работать:

1: Весь код в iframe запускается в Worker, выделенном для этого iframe.К сожалению, код в iframe должен позволять изменять HTML, содержащийся в iframe.Изменив его так, чтобы он загружал другой скрипт, код мог бы эффективно вырваться из рабочего.

2: код действительно выполняется в основном потоке, но за работой наблюдает рабочий.Этот работник может каким-то образом определить, когда веб-сайт заблокирован из-за iframe, а затем уничтожить только те сценарии, которые виноваты.

...