[{"data":1,"prerenderedAt":181},["ShallowReactive",2],{"publication:ru:P196":3},{"meta":4,"copy":17,"relatedArticles":150,"terms":173,"term":174,"resourceParent":175,"glossaryParent":178},{"id":5,"path":6,"kind":7,"keyword":8,"title":9,"seoTitle":10,"description":11,"incoming":12,"updated":15,"preparedOn":16},"P196","\u002Fblog\u002Fthird-party-script-data-flow","article","сторонние скрипты и данные сайта","Сторонние скрипты и данные сайта: что уходит из браузера","Сторонние скрипты: доступ к данным и контроль","Как проверить теги, виджеты и маршруты данных браузера. Различия CSP, SRI, согласия на обработку и фактических полномочий кода.",[13,14],"\u002Fservices\u002Fsecurity-audit","\u002Fservices\u002Fcloudflare","2026-06-08","2026-10-31",{"intro":18,"sections":19,"checklistTitle":105,"checklist":106,"faq":113,"sources":123,"links":128,"cta":145},"Сторонние скрипты могут выполнять код в контексте страницы сайта и участвовать в передаче доступных ей данных. Поэтому проверять нужно название поставщика, условия загрузки, исполняемый код и фактические назначения запросов. CSP, проверка целостности и решения о допустимой обработке информации отвечают на разные вопросы.",[20,26,40,76,90,99],{"title":21,"paragraphs":22},"Составьте реестр кода и условий загрузки",[23,24,25],"Начните с аналитики, чатов, виджетов, рекламных тегов и менеджеров тегов. Укажите, кто добавляет код, кто может публиковать изменения и для какой задачи он нужен. Один контейнер может загружать несколько компонентов и менять их без редактирования исходной страницы.","Для каждого компонента отметьте страницы, действия пользователя и другие условия появления. Набор до взаимодействия с виджетом может отличаться от набора после. Отсутствие запроса в одном открытии страницы не доказывает, что компонент никогда не передает информацию.","Разделяйте адрес загрузки кода и адрес назначения данных. Файл с одного домена может обращаться к другим разрешенным назначениям. Для каждого наблюдения сохраняйте дату и условия, а неизвестные ветки передавайте владельцу на проверку.",{"title":27,"paragraphs":28,"sources":33},"Понимайте контекст исполнения и пределы доступа",[29,30,31,32],"OWASP обращает внимание на доверие к стороннему JavaScript и менеджерам тегов. Скрипт, выполняющийся в контексте страницы, может работать с доступным ей содержимым. Размещение файла на внешнем сервере само по себе не изолирует его от страницы.","Это не означает доступ ко всем данным браузера или любых сайтов. Реальная область зависит от контекста исполнения, политик браузера и конструкции компонента. Изолированная рамка и код в основной странице требуют разного разбора.","MDN указывает, что HttpOnly запрещает JavaScript доступ к значению соответствующего cookie. Но такие cookie могут отправляться с запросами, инициированными скриптом, в применимых условиях. Наличие HttpOnly не превращает весь код страницы в изолированный или безопасный.","Слой данных помогает договориться, какие значения предназначены для аналитики, но не является песочницей для кода. Аналогично серверный сборщик не изолирует скрипты, которые по-прежнему работают в браузере. Проверяйте фактическую архитектуру, а не только название подхода.",[34,37],{"label":35,"url":36},"OWASP: сторонний JavaScript и границы менеджеров тегов","https:\u002F\u002Fcheatsheetseries.owasp.org\u002Fcheatsheets\u002FThird_Party_Javascript_Management_Cheat_Sheet.html",{"label":38,"url":39},"MDN: HttpOnly и доступ JavaScript к значениям cookie","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FSet-Cookie",{"title":41,"paragraphs":42,"table":45},"Реестр маршрута, контекста и решения",[43,44],"Форма CyberFixCrew связывает деловую задачу с техническим наблюдением. Владелец должен понимать, какие значения доступны компоненту, какие реально передаются и кто может изменить это поведение. Доступность информации и наблюдаемая передача - разные факты.","Для неизвестного назначения запишите вопрос и ответственного, не делая вывода об отсутствии риска. Приоритет получают страницы и процессы с чувствительным вводом. В реестр достаточно описаний и безопасных подтверждений; реальные сообщения посетителей собирать ради таблицы не нужно.",{"caption":46,"headers":47,"rows":51},"Что учитывать у тега или виджета",[48,49,50],"Область","Что выяснить","Решение владельца",[52,56,60,64,68,72],[53,54,55],"Назначение","Какой функции нужен код","Нужность подтверждена",[57,58,59],"Загрузка","Когда и откуда появляется","Условия известны",[61,62,63],"Контекст","Где выполняется компонент","Граница доступа описана",[65,66,67],"Данные","Что доступно и что отправляется","Состав согласован",[69,70,71],"Изменения","Кто публикует новую версию","Права и обзор определены",[73,74,75],"Приемка","Какие маршруты проверяются","Функция и ограничения записаны",{"title":77,"paragraphs":78,"sources":83},"Не смешивайте CSP, SRI и решения о приватности",[79,80,81,82],"CSP может ограничивать определенные источники и действия в браузере согласно выбранной политике. Режим report-only формирует отчеты, но не применяет объявленное ограничение. Нужен разбор фактического режима и области, а не только присутствия заголовка.","Subresource Integrity позволяет сверить загружаемый ресурс с ожидаемым криптографическим хешем. Для межсайтовой загрузки с SRI учитываются условия CORS. Это проверка соответствия ожидаемому содержимому, а не доказательство безвредности самого разрешенного кода.","Если компонент меняется динамически, применимость фиксированного хеша требует отдельного решения. Обновление политики или целостности должно сохранять нужную функцию и иметь приемку. Не вставляйте универсальный набор правил без учета реальных зависимостей сайта.","Ни CSP, ни SRI не определяют автоматически правомерность сбора и согласия пользователя. Допустимость обработки, состав данных и выбранный пользовательский сценарий согласуются отдельно с учетом применимых требований. Техническое разрешение запроса и деловое решение о передаче дополняют друг друга.",[84,87],{"label":85,"url":86},"MDN: Content Security Policy и режим отчетов","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FGuides\u002FCSP",{"label":88,"url":89},"MDN: Subresource Integrity и межсайтовая загрузка","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FSecurity\u002FDefenses\u002FSubresource_Integrity",{"title":91,"paragraphs":92,"example":96},"Планируйте проверку полного сценария",[93,94,95],"Используйте вымышленные значения и разрешенную тестовую область. Сравните загрузку страницы, взаимодействие с виджетом, отправку формы и ветку ошибки. При необходимости рассматривайте разные состояния согласованного механизма выбора пользователя.","Проверяйте отсутствие лишнего назначения и сохранность нужной функции: обращения, аналитического события или интерфейса. Сбой одного компонента не должен незаметно создавать новый маршрут или повторную передачу. Наблюдение относится к проверенным условиям.","Сетевой журнал может содержать параметры и сведения о сеансе. Ограничьте сбор, хранение и передачу подтверждений. Для обсуждения обычно достаточно перечня назначений, типов значений и безопасных фрагментов, а не полного архива пользовательской активности.",{"title":97,"text":98},"Условный пример виджета возле формы","В учебной схеме виджет загружается только после открытия панели. Реестр различает этот момент и первоначальный просмотр страницы, а приемка использует вымышленный ввод. Это пример планирования наблюдения, а не выполненный перехват запросов или вывод о конкретном поставщике.",{"title":100,"paragraphs":101},"Поддерживайте минимальный нужный набор компонентов",[102,103,104],"Для каждого скрипта назначьте владельца, цель и повод для пересмотра. Новый тег, смена поставщика, изменение контейнера или полей формы могут менять маршрут данных. Права публикации в менеджере тегов рассматривайте как доступ к изменению поведения сайта.","Удаление неиспользуемого компонента согласуют с владельцем процесса и проверяют по нужным функциям. В итоговом реестре остаются известные маршруты, исключения и открытые вопросы. Отсутствие видимого баннера или ошибки не доказывает правильность обработки информации.","CyberFixCrew - израильская компания для русскоязычных бизнесов по всему миру. Практические знания израильской команды в защите сайтов и цифровой инфраструктуры помогают разбирать сторонний код, браузерные политики и интеграции вместе. Состав наблюдений, допустимые изменения и приемка определяются для вашего сайта.","Перед подтверждением маршрутов стороннего кода",[107,108,109,110,111,112],"Скрипты, владельцы и условия загрузки перечислены.","Контекст исполнения отделен от адреса хостинга.","Доступные значения и наблюдаемые передачи различаются.","CSP, SRI и решения о допустимой обработке рассмотрены отдельно.","Учебная приемка охватывает нужные действия и ошибки.","Изменения тегов имеют ответственного и проверку функций.",[114,117,120],{"question":115,"answer":116},"Внешний домен скрипта изолирует его от страницы?","Сам по себе адрес загрузки не создает изоляцию. Важно, где и с какими условиями выполняется код. Скрипт в контексте страницы и компонент в изолированной рамке имеют разные границы. Их проверяют по фактическому устройству.",{"question":118,"answer":119},"Слой данных ограничивает доступ любого тега?","Слой данных описывает предназначенные для передачи значения, но сам по себе не является песочницей. Нужно отдельно ограничивать код, права публикации и маршруты. Серверная обработка части событий также не изолирует оставшиеся браузерные скрипты автоматически.",{"question":121,"answer":122},"SRI доказывает, что разрешенный скрипт безопасен?","SRI проверяет соответствие ресурса ожидаемому хешу в поддерживаемых условиях. Он не определяет деловую необходимость кода и допустимость его действий с данными. Сам ожидаемый ресурс, его контекст и маршруты нужно рассматривать отдельно.",[124,125,126,127],{"label":35,"url":36},{"label":38,"url":39},{"label":85,"url":86},{"label":88,"url":89},[129,132,135,138,141,143],{"path":130,"label":131},"\u002Fblog\u002Fcontact-form-data-security","Данные на странице формы",{"path":133,"label":134},"\u002Fblog\u002Fbusiness-data-map","Общая карта потоков данных",{"path":136,"label":137},"\u002Fglossary\u002Fcsp","CSP: режим и ограничения",{"path":139,"label":140},"\u002Fblog\u002Fvendor-access-review","Кто может менять подключенные инструменты",{"path":13,"label":142},"Проверка безопасности сайта",{"path":14,"label":144},"Защита сайта с Cloudflare",{"title":146,"description":147,"button":148,"type":149},"Разберем фактические маршруты страницы","Опишите виджеты и задачи сайта без пользовательских журналов и секретов. Определим область проверки кода и данных.","Обсудить проверку скриптов","check",[151,159,166],{"id":152,"path":153,"title":154,"description":155,"category":156,"artwork":156,"order":157,"publishedOn":158},"P119","\u002Fblog\u002Fapi-security-business-checklist","Чек-лист безопасности API для бизнес-интеграций","Учетные записи, права на записи и действия, ограничения ресурсов, секреты и webhooks. План контролируемой приемки с вымышленными данными.","integrations",69,"2026-05-23",{"id":160,"path":161,"title":162,"description":163,"category":156,"artwork":156,"order":164,"publishedOn":165},"P080","\u002Fblog\u002Fwebhook-security","Безопасность вебхуков: подпись, повторы и результат обработки","Чек-лист вебхуков: схема подписи провайдера, исходное тело, срок, дубликаты, порядок, надежная обработка и проверка делового результата.",86,"2026-06-24",{"id":167,"path":168,"title":169,"description":170,"category":156,"artwork":156,"order":171,"publishedOn":172},"P079","\u002Fblog\u002Fapi-keys-secrets","Как хранить API-ключи на сайте и действовать при раскрытии","Где хранятся ключи, кто их использует и что попадает в браузер, сборку или журналы. Различия публичного идентификатора, секрета и безопасной ротации.",93,"2026-07-10",[],null,{"path":176,"label":177},"\u002Fresources","Материалы и шаблоны безопасности сайта",{"path":179,"label":180},"\u002Fglossary","Словарь кибербезопасности для бизнеса",1794134064644]