Я пытаюсь выяснить, возможно ли программное изменение значения песочницы для iFrame.Toggling iFrame Sandbox
От MDN iframe:
Когда внедренный документ имеет такое же происхождение, как на главной странице, это сильно обескуражен использовать оба позволяют скрипты и позволяют-же происхождение в то же время, поскольку это позволяет встроенному документу программно удалить атрибут песочницы. Хотя это принято, этот случай не более безопасен, чем не использовать атрибут sandbox .
Однако изменение атрибута в родительском объекте не приводит к успешному запуску песочницы, как это бы подразумевалось у ребенка.
document.getElementById('myFrame').setAttribute('sandbox', 'allow-scripts');
Страница загружалась в этом плавающем фрейме может успешно получить доступ к родителю, который не был бы в случае, если песочница работает. Атрибут изменяет, но защита является ошибочной, поскольку она не препятствует доступу к патенту.
console.log(window.parent.document);
Вышеупомянутое все еще работает в iFrame, в котором была включена программная программа «программно». Это происходит как в Chrome, так и в Firefox, что подразумевает либо недокументированную функциональность, либо плохо реализованную спецификацию.
У кого-нибудь есть идеи относительно того, что будет подходящим ожиданием?
Извините, это не то, о чем я прошу. Я спрашиваю, можно ли переключать атрибуты безопасности песочницы, и браузер их принимает. – joseeight
Извините, но вы не понимаете проблему, но не об изменении значений атрибутов, это о браузерах, которые фактически реализуют измененные значения и соответствующие меры безопасности для песочницы, которых они в настоящее время нет. Это не простой вопрос, поэтому, если вы не знакомы с песочницей HTML5, вы вряд ли поймете. Спасибо за попытку. – joseeight
Чтобы быть понятным, если вы читаете статью о MDN, можно программно изменить свойства песочницы или, по крайней мере, это должно быть, поскольку они конкретно указывают, что это угроза. Проблема в том, что она не работает, поэтому это означает, что нет никакой угрозы, однако нет упоминания о реализации, что после изменения «песочницы» загрузки «загрузка» не будет применена или разрешена, что, по-видимому, имеет место теперь как в Chrome, так и в Firefox. – joseeight