Использование iframe с allow-same-origin для работы Google Analytics, альтернативы или только опция? - PullRequest
0 голосов
/ 12 мая 2019

У меня есть приложение статического сайта GitHub Pages, встроенное в сообщение форума с помощью iframe, использующего следующий код

<div id="app"></div>
<style>
    #app, #app-iframe {
        margin: 0;
        padding: 0;
        border: none;
        width: 100%;
        height: 1200px;
        overflow: hidden;
    }
</style>
<script>
        (function() {
            "use strict";

            let iframe = document.createElement("iframe");
            iframe.setAttribute("id", "app-iframe");
            iframe.src = "https://mygithub.github.io/my-github-pages-app/";
            iframe.sandbox = "allow-scripts allow-popups";

            let pdnpi = document.getElementById("app");
            pdnpi.appendChild(iframe);
        })();
</script>

С тех пор, как в последнее время для изучения функции песочницы в iframes требовалось только allow-scripts allow-popupsфункционировать должным образом.Однако с тех пор я также заметил, что Google Analytics, кажется, не показывает тех же ежедневных пользователей и не отслеживает, как это должно быть.Я бы предположил, что это будет работать, потому что я позволил сценарии.Все еще некоторые данные возвращаются, но значительно меньше.

Я также понял, добавив allow-same-origin в список песочницы, Google Analytics снова показывает данные, которые, кажется,будь то, что позволяет AJAX.Несмотря на то, что я читал о рисках как allow-same-origin, так и allow-scripts, это также означает, что iframe потенциально может выйти из строя и изменить родительский домен, сняв собственные ограничения песочницы.

Репозиторий, управляющий инструментом GitHub PagesЭто безопасно, нет никакого беспокойства о том, что авторы изменяют его злонамеренно, так как они уже имеют повышенные разрешения на форуме.Статический сайт / инструмент - это просто простой html и JS, использующий jQuery, Bootstrap 4 и Google Analytics.

Являются ли риски, связанные с объединением allow-same-origin и allow-scripts, в такой ситуации плохо?Предполагая, что нет другой альтернативы, чтобы заставить GA работать снова без него?

...