• Как спарсить текст, идущий после определенного HTML-кода?

    @Roman-Fov
    //*[text()='Title'][1]/following-sibling::*[1]

    Если интересно, то изучаем оси XPath
    Ответ написан
    6 комментариев
  • Content-Security-Policy: host-source VS 'self': в чем разница?

    @granty
    Мы заранее не знаем, с какого сайта может загружаться контент?
    Знаем, но не всегда. У сайта может быть множество поддоменов, в том числе и динамических.

    host-source VS 'self'
    Вместо 'self' браузер подставляет протокол, хост(домен) и номер порта от источника происхождения (текущего URL) страницы.
    Если у вас сайт доступен как: http://domain.com, https://domain.com, http://www.domain.com, https://www.domain.com, http://www.domain.com:8081 - 'self' всё это покроет:
    зайдёте на http://www.domain.com:8080/page.html - 'self' будет равен http://www.domain.com:8080, и тп.

    Иначе вместо 'self' вам придётся перечислять все варианты имён хостов(включая поддомены) со схемами/протоколами и номерами портов.

    почему ни host-source, ни 'self' в качестве источника не включают «подмножество» 'unsafe-inline', т.е. контент, встроенный в загружаемую страницу?
    Потому, что такой встроенный скрипт может появиться на странице без ведома вебмастера. Его может вставить вредоносный браузерный плагин, другой скрипт (например, виджет погоды), его может вставить интернет-провайдер. Такой инлайн-скрипт может появиться на странице в результате XSS-уязвимости.

    Content Security Policy от этого и защищает.
    Ответ написан
    3 комментария