<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>worldwide open-source software - software:development:web:docs:web:security</title>
        <description></description>
        <link>http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/</link>
        <lastBuildDate>Tue, 07 Apr 2026 12:59:20 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/lib/exe/fetch.php?media=wiki:logo.png</url>
            <title>worldwide open-source software</title>
            <link>http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/</link>
        </image>
        <item>
            <title>same-origin_policy</title>
            <link>http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:security:same-origin_policy&amp;rev=1693394837</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;политика_одного_и_того_же_происхождения&quot;&gt;Политика одного и того же происхождения&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Политика одного &lt;strong&gt;и того же источника&lt;/strong&gt; — это критически важный механизм безопасности, который ограничивает взаимодействие документа или сценария, загруженного из одного источника , с ресурсом из другого источника.
&lt;/p&gt;

&lt;p&gt;
Это помогает изолировать потенциально вредоносные документы, уменьшая возможные векторы атак. Например, он не позволяет вредоносному веб-сайту в Интернете запускать JS в браузере для чтения данных из сторонней службы веб-почты (в которую входит пользователь) или внутренней сети компании (которая защищена от прямого доступа злоумышленника с помощью не имея публичного IP-адреса) и передавая эти данные злоумышленнику.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430_\u043e\u0434\u043d\u043e\u0433\u043e_\u0438_\u0442\u043e\u0433\u043e_\u0436\u0435_\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1252&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;определение_происхождения&quot;&gt;Определение происхождения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Два &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адреса имеют одинаковое происхождение, если протокол , порт (если указан) и хост одинаковы для обоих. Вы можете увидеть это как «кортеж схемы/хоста/порта» или просто «кортеж». («Кортеж» — это набор элементов, которые вместе составляют целое — общая форма для двойного, тройного, четверного, пятерного и т. д.)
&lt;/p&gt;

&lt;p&gt;
В следующей таблице приведены примеры сравнения происхождения с &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адресом &lt;code&gt;&lt;a href=&quot;http://store.company.com/dir/page.html&quot; class=&quot;urlextern&quot; title=&quot;http://store.company.com/dir/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://store.company.com/dir/page.html&lt;/a&gt;&lt;/code&gt;:
&lt;/p&gt;
&lt;div class=&#039;plugin_tablelayout_placeholder&#039; data-tablelayout=&quot;{&amp;quot;rowsHeaderSource&amp;quot;:&amp;quot;Auto&amp;quot;}&quot;&gt;&lt;/div&gt;&lt;div class=&quot;table sectionedit3&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адрес&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;&lt;strong&gt;Исход&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;&lt;strong&gt;Причина&lt;/strong&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;&lt;a href=&quot;http://store.company.com/dir2/other.html&quot; class=&quot;urlextern&quot; title=&quot;http://store.company.com/dir2/other.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://store.company.com/dir2/other.html&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;То же происхождение&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Только путь отличается&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://store.company.com/dir/inner/another.html&quot; class=&quot;urlextern&quot; title=&quot;http://store.company.com/dir/inner/another.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://store.company.com/dir/inner/another.html&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;То же происхождение&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Только путь отличается&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;https://store.company.com/page.html&quot; class=&quot;urlextern&quot; title=&quot;https://store.company.com/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://store.company.com/page.html&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Отказ&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Другой протокол&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://store.company.com:81/dir/page.html&quot; class=&quot;urlextern&quot; title=&quot;http://store.company.com:81/dir/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://store.company.com:81/dir/page.html&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Отказ&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Другой порт (http://по умолчанию это порт 80) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://news.company.com/dir/page.html&quot; class=&quot;urlextern&quot; title=&quot;http://news.company.com/dir/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://news.company.com/dir/page.html&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Отказ&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Другой хост&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2107-2705&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1253-2706&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;унаследованное_происхождение&quot;&gt;Унаследованное происхождение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Скрипты, выполняемые на страницах с &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адресом &lt;code&gt;about:blank&lt;/code&gt; или &lt;code&gt;javascript:&lt;/code&gt;, наследуют источник документа, содержащего этот &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адрес, поскольку эти типы &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адресов не содержат информации об исходном сервере.
&lt;/p&gt;

&lt;p&gt;
Например, &lt;code&gt;about:blank&lt;/code&gt; часто используется как &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адрес новых пустых всплывающих окон, в которые родительский скрипт записывает контент (например, через механизм &lt;code&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:open&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:open&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:open&quot;&gt;Window.open()&lt;/a&gt;&lt;/code&gt;). Если это всплывающее окно также содержит JavaScript, этот сценарий унаследует то же происхождение, что и сценарий, который его создал.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;data:&lt;/code&gt; &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адреса получают новый, пустой контекст безопасности.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0435_\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2707-3850&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;происхождение_файлов&quot;&gt;Происхождение файлов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Современные браузеры обычно рассматривают происхождение файлов, загружаемых с использованием &lt;code&gt;file:///&lt;/code&gt; схемы, как непрозрачное происхождение . Это означает, что если файл включает в себя другие файлы из той же папки (скажем), не предполагается, что они происходят из того же источника и могут вызвать ошибки &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:glossary:cors&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:glossary:cors&quot; data-wiki-id=&quot;software:development:web:docs:glossary:cors&quot;&gt;CORS&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Обратите внимание, что в &lt;a href=&quot;https://url.spec.whatwg.org/#origin&quot; class=&quot;urlextern&quot; title=&quot;https://url.spec.whatwg.org/#origin&quot; rel=&quot;ugc nofollow&quot;&gt;спецификации URL&lt;/a&gt; указано, что происхождение файлов зависит от реализации, и некоторые браузеры могут рассматривать файлы в одном и том же каталоге или подкаталоге как имеющие одинаковое происхождение, даже если это имеет &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:security:advisories:mfsa2019-21#cve-2019-11730политика_одинакового_происхождения_рассматривает_все_файлы_в_каталоге_как_имеющие_одинаковое_происхождение&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:security:advisories:mfsa2019-21&quot; data-wiki-id=&quot;software:development:web:docs:web:security:advisories:mfsa2019-21&quot;&gt;последствия для безопасности&lt;/a&gt;
.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435_\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3851-5355&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;изменение_происхождения&quot;&gt;Изменение происхождения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_left wrap_round wrap_important plugin_wrap&quot; style=&quot;width: 100%;&quot;&gt;
&lt;p&gt;
Предупреждение. Описанный здесь подход (с использованием document.domainустановщика) устарел, поскольку он подрывает защиту безопасности, обеспечиваемую той же политикой происхождения, и усложняет модель происхождения в браузерах, что приводит к проблемам совместимости и ошибкам безопасности.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Страница может изменить свое происхождение с некоторыми ограничениями. Сценарий может установить значение &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:document:domain&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:document:domain&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:document:domain&quot;&gt;document.domain&lt;/a&gt; для своего текущего домена или супердомена своего текущего домена. Если установлен супердомен текущего домена, более короткий супердомен используется для проверок того же происхождения.
&lt;/p&gt;

&lt;p&gt;
Например, предположим, что сценарий из документа at &lt;code&gt;&lt;a href=&quot;http://store.company.com/dir/other.html&quot; class=&quot;urlextern&quot; title=&quot;http://store.company.com/dir/other.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://store.company.com/dir/other.html&lt;/a&gt;&lt;/code&gt; выполняет следующее:
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?do=export_code&amp;amp;id=software:development:web:docs:web:security:same-origin_policy&amp;amp;codeblock=0&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_&quot;&gt;JS&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code javascript&quot;&gt;document.&lt;span class=&quot;me1&quot;&gt;domain&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;company.com&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
После этого страница может пройти проверку того же происхождения с помощью &lt;a href=&quot;http://company.com/dir/page.html&quot; class=&quot;urlextern&quot; title=&quot;http://company.com/dir/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://company.com/dir/page.html&lt;/a&gt;(при условии, что &lt;code&gt;&lt;a href=&quot;http://company.com/dir/page.html&quot; class=&quot;urlextern&quot; title=&quot;http://company.com/dir/page.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://company.com/dir/page.html&lt;/a&gt;&lt;/code&gt; для нее установлено &lt;code&gt;document.domain&lt;/code&gt; значение &lt;code&gt;«company.com»&lt;/code&gt;, чтобы указать, что она желает это разрешить - см. document.domainдополнительную информацию). Однако не &lt;code&gt;company.com&lt;/code&gt; удалось установить , поскольку это не супердомен &lt;code&gt;.document.domainothercompany.comcompany.com&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Номер порта проверяется браузером отдельно. Любой вызов &lt;code&gt;document.domain&lt;/code&gt;, включая &lt;code&gt;document.domain = document.domain&lt;/code&gt;, приводит к перезаписи номера порта на &lt;code&gt;null&lt;/code&gt;. Следовательно, невозможно поговорить &lt;code&gt;company.com:8080&lt;/code&gt;, &lt;code&gt;company.com&lt;/code&gt; только установив &lt;code&gt;document.domain = «company.com»&lt;/code&gt; первое. Он должен быть установлен в обоих, чтобы оба номера портов были &lt;code&gt;null&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Механизм имеет некоторые ограничения. Например, он выдаст &lt;code&gt;«SecurityError»&lt;/code&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:domexception&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:domexception&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:domexception&quot;&gt;DOMException&lt;/a&gt;, если включен или документ находится в изолированной программной среде , и изменение источника таким образом не влияет на проверки происхождения, используемые многими веб-&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; (например , , , ). Более полный список случаев сбоя можно найти в &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:document:domain#failures&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:document:domain&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:document:domain&quot;&gt;Document.domain &amp;gt; Отказы&lt;/a&gt;. &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:http:headers:permissions-policy:document-domain&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:http:headers:permissions-policy:document-domain&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:http:headers:permissions-policy:document-domain&quot;&gt;document-domain&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:http:headers:permissions-policy&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:http:headers:permissions-policy&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:http:headers:permissions-policy&quot;&gt;Permissions-Policy&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:iframe&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:iframe&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:iframe&quot;&gt;&amp;lt;iframe&amp;gt;&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:localstorage&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:localstorage&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:localstorage&quot;&gt;localStorage&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:indexeddb_api&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:indexeddb_api&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:indexeddb_api&quot;&gt;indexedDB&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:broadcastchannel&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:broadcastchannel&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:broadcastchannel&quot;&gt;BroadcastChannel&lt;/a&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:sharedworker&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:sharedworker&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:sharedworker&quot;&gt;SharedWorker&lt;/a&gt;
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_left wrap_round wrap_important plugin_wrap&quot; style=&quot;width: 100%;&quot;&gt;
&lt;p&gt;
Примечание. При использовании &lt;code&gt;document.domain&lt;/code&gt; субдомена для доступа к своему родительскому элементу необходимо установить &lt;code&gt;document.domain&lt;/code&gt; одно и то же значение как в родительском домене, так и в субдомене. Это необходимо, даже если при этом родительский домен возвращается к исходному значению. Невыполнение этого требования может привести к ошибкам разрешения.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5356-10048&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;доступ_к_сети_из_разных_источников&quot;&gt;Доступ к сети из разных источников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Политика одного и того же источника контролирует взаимодействие между двумя разными источниками, например, когда вы используете &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:xmlhttprequest&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:xmlhttprequest&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:xmlhttprequest&quot;&gt;XMLHttpRequest&lt;/a&gt; или &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:img&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:img&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:img&quot;&gt;&amp;lt;img&amp;gt;&lt;/a&gt; элемент. Эти взаимодействия обычно делятся на три категории:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запись между источниками обычно разрешена. Примерами являются ссылки, перенаправления и отправки форм. Некоторые HTTP-запросы требуют &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:http:cors#preflighted_requests&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:http:cors&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:http:cors&quot;&gt;предварительной проверки&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Обычно допускается встраивание перекрестного происхождения . (Примеры перечислены ниже.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Чтение из перекрестного источника обычно запрещено, но доступ для чтения часто теряется из-за внедрения. Например, вы можете прочитать размеры встроенного изображения, действия встроенного скрипта или доступность &lt;a href=&quot;https://bugzil.la/629094&quot; class=&quot;urlextern&quot; title=&quot;https://bugzil.la/629094&quot; rel=&quot;ugc nofollow&quot;&gt;встроенного ресурса&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Вот несколько примеров ресурсов, которые могут быть встроены из разных источников:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; JavaScript с &lt;code&gt;&amp;lt;script src=«…»&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;. Подробности синтаксических ошибок доступны только для сценариев того же происхождения.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; применяется с &lt;code&gt;&amp;lt;link rel=«stylesheet» href=«…»&amp;gt;&lt;/code&gt;. Из-за смягченных правил синтаксиса &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; для &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; с перекрестным происхождением требуется правильный &lt;code&gt;Content-Type&lt;/code&gt; заголовок. Браузеры блокируют загрузку таблицы стилей, если это загрузка из разных источников, где тип MIME неверен и ресурс не начинается с допустимой конструкции &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Изображения, отображаемые &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:img&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:img&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:img&quot;&gt;&amp;lt;img&amp;gt;&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; СМИ играют &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:video&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:video&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:video&quot;&gt;&amp;lt;video&amp;gt;&lt;/a&gt; и &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:audio&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:audio&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:audio&quot;&gt;&amp;lt;audio&amp;gt;&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Внешние ресурсы, встроенные в &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:object&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:object&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:object&quot;&gt;&amp;lt;object&amp;gt;&lt;/a&gt; и &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:embed&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:embed&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:embed&quot;&gt;&amp;lt;embed&amp;gt;&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Шрифты, примененные с помощью &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:css:font-face&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:css:font-face&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:css:font-face&quot;&gt;@font-face&lt;/a&gt;. Некоторые браузеры допускают использование шрифтов из разных источников, другие требуют использования шрифтов одного и того же происхождения.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Все, что встроено в &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:html:element:iframe&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:web:html:element:iframe&quot; data-wiki-id=&quot;software:development:web:docs:web:html:element:iframe&quot;&gt;&amp;lt;iframe&amp;gt;&lt;/a&gt;. Сайты могут использовать &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:http:headers:x-frame-options&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:http:headers:x-frame-options&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:http:headers:x-frame-options&quot;&gt;X-Frame-Options&lt;/a&gt; заголовок для предотвращения фреймов из разных источников.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0441\u0442\u0443\u043f_\u043a_\u0441\u0435\u0442\u0438_\u0438\u0437_\u0440\u0430\u0437\u043d\u044b\u0445_\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;10049-13759&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;как_разрешить_доступ_из_разных_источников&quot;&gt;Как разрешить доступ из разных источников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Используйте &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:http:cors&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:http:cors&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:http:cors&quot;&gt;CORS&lt;/a&gt;, чтобы разрешить доступ из разных источников. CORS — это часть &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:glossary:http&quot; class=&quot;wikilink1&quot; title=&quot;software:development:web:docs:glossary:http&quot; data-wiki-id=&quot;software:development:web:docs:glossary:http&quot;&gt;HTTP&lt;/a&gt;, которая позволяет серверам указывать любые другие хосты, с которых браузер должен разрешать загрузку контента.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c_\u0434\u043e\u0441\u0442\u0443\u043f_\u0438\u0437_\u0440\u0430\u0437\u043d\u044b\u0445_\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;13760-14295&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;как_заблокировать_доступ_из_разных_источников&quot;&gt;Как заблокировать доступ из разных источников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Чтобы предотвратить запись из разных источников, проверьте неугаданный токен в запросе, известный как &lt;a href=&quot;https://owasp.org/www-community/attacks/csrf&quot; class=&quot;urlextern&quot; title=&quot;https://owasp.org/www-community/attacks/csrf&quot; rel=&quot;ugc nofollow&quot;&gt;токен межсайтовой подделки запроса (CSRF)&lt;/a&gt; . Вы должны запретить чтение страниц из перекрестного источника, которым требуется этот токен.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Чтобы предотвратить чтение ресурса из перекрестного источника, убедитесь, что он не является встраиваемым. Часто бывает необходимо предотвратить внедрение, поскольку при внедрении ресурса всегда происходит утечка некоторой информации о нем.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Чтобы предотвратить встраивание из разных источников, убедитесь, что ваш ресурс не может быть интерпретирован как один из встраиваемых форматов, перечисленных выше. Браузеры могут не учитывать Content-Typeзаголовок. Например, если вы укажете &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; тег на &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;-документ, браузер попытается проанализировать &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; как JavaScript. Если ваш ресурс не является точкой входа на ваш сайт, вы также можете использовать токен CSRF для предотвращения внедрения.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c_\u0434\u043e\u0441\u0442\u0443\u043f_\u0438\u0437_\u0440\u0430\u0437\u043d\u044b\u0445_\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;14296-16136&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;доступ_к_api_сценариев_из_разных_источников&quot;&gt;Доступ к API сценариев из разных источников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; JavaScript &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:htmliframeelement:contentwindow&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:htmliframeelement:contentwindow&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:htmliframeelement:contentwindow&quot;&gt;iframe.contentWindow&lt;/a&gt;, такие как &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:parent&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:parent&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:parent&quot;&gt;window.parent&lt;/a&gt;, &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:open&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:open&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:open&quot;&gt;window.open&lt;/a&gt;, и &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:opener&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:opener&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:opener&quot;&gt;window.opener&lt;/a&gt; позволяют документам напрямую ссылаться друг на друга. Когда два документа имеют разное происхождение, эти ссылки обеспечивают очень ограниченный доступ к объектам &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window&quot;&gt;Window&lt;/a&gt; и &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:location&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:location&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:location&quot;&gt;Location&lt;/a&gt;, как описано в следующих двух разделах.
&lt;/p&gt;

&lt;p&gt;
Для связи между документами из разных источников используйте &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:postmessage&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:postmessage&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:postmessage&quot;&gt;window.postMessage&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Спецификация: &lt;a href=&quot;https://html.spec.whatwg.org/multipage/browsers.html#cross-origin-objects&quot; class=&quot;urlextern&quot; title=&quot;https://html.spec.whatwg.org/multipage/browsers.html#cross-origin-objects&quot; rel=&quot;ugc nofollow&quot;&gt;HTML Living Standard § Объекты перекрестного происхождения&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0441\u0442\u0443\u043f \u043a API \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0441\u0442\u0443\u043f_\u043a_api_\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432_\u0438\u0437_\u0440\u0430\u0437\u043d\u044b\u0445_\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;16137-17456&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;window&quot;&gt;Window&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Разрешен следующий доступ из разных источников к этим Windowсвойствам:
&lt;/p&gt;

&lt;p&gt;
Методы
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:blur&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:blur&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:blur&quot;&gt;window.blur&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:close&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:close&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:close&quot;&gt;window.close&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:focus&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:focus&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:focus&quot;&gt;window.focus&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:postmessage&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:postmessage&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:postmessage&quot;&gt;window.postMessage&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;table sectionedit16&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt;Атрибуты	&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:closed&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:closed&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:closed&quot;&gt;window.closed&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:frames&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:frames&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:frames&quot;&gt;window.frames&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:length&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:length&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:length&quot;&gt;window.length&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:location&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:location&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:location&quot;&gt;window.location&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Читай пиши.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:opener&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:opener&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:opener&quot;&gt;window.opener&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:parent&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:parent&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:parent&quot;&gt;window.parent&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:self&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:self&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:self&quot;&gt;window.self&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:top&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:top&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:top&quot;&gt;window.top&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:window:window&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:window:window&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:window:window&quot;&gt;window.window&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только чтение.&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;17911-18821&amp;quot;} --&gt;
&lt;p&gt;
Некоторые браузеры разрешают доступ к большему количеству свойств, чем указано выше.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Window&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;window&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;17457-18979&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;расположение&quot;&gt;Расположение&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Разрешен следующий доступ к Location свойствам из разных источников:
&lt;/p&gt;

&lt;p&gt;
Методы
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:location:replace&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:location:replace&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:location:replace&quot;&gt;location.replace&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;table sectionedit18&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt;Атрибуты&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:location:href&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:location:href&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:location:href&quot;&gt;location.href&lt;/a&gt;	&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Только запись.&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table2&amp;quot;,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;19228-19348&amp;quot;} --&gt;
&lt;p&gt;
Некоторые браузеры разрешают доступ к большему количеству свойств, чем указано выше.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;18980-19506&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;доступ_к_хранилищу_данных_из_разных_источников&quot;&gt;Доступ к хранилищу данных из разных источников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Доступ к данным, хранящимся в браузере, таким как &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:web_storage_api&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:web_storage_api&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:web_storage_api&quot;&gt;веб-хранилище&lt;/a&gt; и &lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:api:indexeddb_api&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:web:api:indexeddb_api&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:web:api:indexeddb_api&quot;&gt;indexedDB&lt;/a&gt;, разделен по источнику. Каждый источник получает свое собственное отдельное хранилище, и JavaScript в одном источнике не может читать или записывать в хранилище, принадлежащее другому источнику.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:glossary:cookie&quot; class=&quot;wikilink2&quot; title=&quot;software:development:web:docs:glossary:cookie&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;software:development:web:docs:glossary:cookie&quot;&gt;Файлы cookie&lt;/a&gt; используют отдельное определение происхождения. Страница может установить файл cookie для своего собственного домена или любого родительского домена, если родительский домен не является общедоступным суффиксом. Firefox и Chrome используют &lt;a href=&quot;https://publicsuffix.org/&quot; class=&quot;urlextern&quot; title=&quot;https://publicsuffix.org/&quot; rel=&quot;ugc nofollow&quot;&gt;список общедоступных суффиксов&lt;/a&gt; , чтобы определить, является ли домен общедоступным суффиксом. Когда вы устанавливаете файл cookie, вы можете ограничить его доступность с помощью флагов Domain, Path, Secureи HttpOnly. Когда вы читаете файл cookie, вы не можете видеть, где он был установлен. Даже если вы используете только безопасные соединения https, любой файл cookie, который вы видите, мог быть установлен с использованием небезопасного соединения.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0441\u0442\u0443\u043f_\u043a_\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443_\u0434\u0430\u043d\u043d\u044b\u0445_\u0438\u0437_\u0440\u0430\u0437\u043d\u044b\u0445_\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;19507-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 30 Aug 2023 11:27:17 +0000</pubDate>
        </item>
        <item>
            <title>security</title>
            <link>http://synoinstall-2pkhywzfvulqafp3.direct.quickconnect.to/doku.php?id=software:development:web:docs:web:security:security&amp;rev=1692632932</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;безопасность_в_интернете&quot;&gt;Безопасность в Интернете&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Веб-сайты содержат несколько различных типов информации. Некоторые из них не являются конфиденциальными, например, копия, показанная на общедоступных страницах. Некоторые из них являются конфиденциальными, например имена пользователей, пароли и банковская информация, или внутренние алгоритмы и частная информация о продукте.
&lt;/p&gt;

&lt;p&gt;
Конфиденциальная информация должна быть защищена, и на этом сосредоточена веб-безопасность. Если эта информация попадет не в те руки, она может быть использована для:
&lt;/p&gt;

&lt;p&gt;
Поставьте компании в невыгодное положение, поделившись своей информацией с конкурентами.
Отключите или захватите их службы, что снова вызовет серьезные проблемы с их работой.
Подвергают риску конфиденциальность своих клиентов , делая их уязвимыми для профилирования, таргетинга, потери данных, кражи личных данных или даже финансовых потерь.
Современные браузеры уже имеют несколько функций для защиты безопасности пользователей в Интернете, но разработчикам также необходимо применять передовые методы и тщательно кодировать, чтобы обеспечить безопасность своих веб-сайтов. Даже простые ошибки в вашем коде могут привести к уязвимостям, которые злоумышленники могут использовать для кражи данных и получения контроля над службами, для которых у них нет авторизации.
&lt;/p&gt;

&lt;p&gt;
В этой статье представлено введение в веб-безопасность, включая информацию, которая поможет вам понять аспекты, которые могут сделать веб-сайты уязвимыми, и способы их защиты.
&lt;/p&gt;

&lt;p&gt;
Связь между безопасностью и конфиденциальностью
Безопасность и конфиденциальность — разные темы, но они также тесно связаны. Стоит знать разницу между ними и то, как они соотносятся.
&lt;/p&gt;

&lt;p&gt;
Безопасность — это процесс защиты личных данных и систем от несанкционированного доступа. Сюда входят как данные компании (внутренние), так и данные пользователей и партнеров (внешние).
Конфиденциальность означает предоставление пользователям права контролировать сбор, хранение и использование их данных, а не их безответственное использование. Например, вы должны четко сообщать пользователям ваших сайтов, какие данные вы собираете, кому они будут переданы и как они будут использоваться. Пользователям должна быть предоставлена ​​возможность согласиться с вашей политикой конфиденциальности, получить доступ к своим данным, которые вы сохранили, и удалить свои данные, если они больше не хотят, чтобы они у вас были.
Хорошая безопасность очень важна для хорошей конфиденциальности. Вы можете следовать всем советам, перечисленным в нашем руководстве по конфиденциальности в Интернете , но действовать добросовестно и иметь надежную политику конфиденциальности бесполезно, если ваш сайт небезопасен, а злоумышленники все равно могут просто украсть данные.
&lt;/p&gt;

&lt;p&gt;
Службы безопасности, предоставляемые браузерами
Веб-браузеры имеют строгую модель безопасности, обеспечивающую высокий уровень безопасности основного контента, соединений и транспорта. В этом разделе рассматриваются основы.
&lt;/p&gt;

&lt;p&gt;
Политика одинакового происхождения и CORS
Политика того же источника — это фундаментальный механизм безопасности в Интернете, который ограничивает взаимодействие документа или сценария, загруженного из одного источника , с ресурсом из другого источника. Это помогает изолировать потенциально вредоносные документы, уменьшая возможные векторы атак.
&lt;/p&gt;

&lt;p&gt;
Как правило, документы из одного источника не могут делать запросы к другим источникам. Это имеет смысл, потому что вы не хотите, чтобы сайты могли мешать друг другу и получать доступ к вещам, которым они не должны. В некоторых случаях имеет смысл ослабить это ограничение; например, у вас может быть несколько сайтов, которые взаимодействуют друг с другом, и вы можете захотеть, чтобы эти сайты запрашивали ресурсы друг у друга, например, используя файлы fetch().
&lt;/p&gt;

&lt;p&gt;
Это может быть разрешено с помощью Cross-Origin Resource Sharing (CORS) — механизма на основе HTTP-заголовков, который позволяет серверу указывать любые источники (домен, схему или порт), отличные от его собственных, из которых браузер должен разрешать загрузку ресурсов.
&lt;/p&gt;

&lt;p&gt;
HTTP-модель для связи
Протокол HTTP используется веб-браузерами и серверами для связи друг с другом, запроса ресурсов, предоставления ответов (например, предоставления запрошенного ресурса или детализации причины сбоя запроса) и обеспечения функций безопасности для этой связи.
&lt;/p&gt;

&lt;p&gt;
Безопасность транспортного уровня (TLS) обеспечивает безопасность и конфиденциальность путем шифрования данных во время передачи по сети и является технологией, лежащей в основе протокола HTTPS . TLS хорош для конфиденциальности, поскольку не позволяет третьим сторонам перехватывать передаваемые данные и использовать их злонамеренно.
&lt;/p&gt;

&lt;p&gt;
Все браузеры по умолчанию требуют HTTPS; это уже практически так, потому что без этого протокола в сети мало что можно сделать.
&lt;/p&gt;

&lt;p&gt;
Похожие темы:
&lt;/p&gt;

&lt;p&gt;
Безопасность транспортного уровня (TLS)
Протокол Transport Layer Security ( TLS ) — это стандарт, позволяющий двум сетевым приложениям или устройствам безопасно и конфиденциально обмениваться информацией. Приложения, использующие TLS, могут выбирать свои параметры безопасности, что может существенно повлиять на безопасность и надежность данных. В этой статье представлен обзор TLS и типов решений, которые вам необходимо принять для защиты вашего контента.
&lt;/p&gt;

&lt;p&gt;
HTTP Strict-Transport-Security
Заголовок Strict-Transport-Security: HTTP позволяет веб-сайту указать, что к нему можно получить доступ только с использованием HTTPS.
&lt;/p&gt;

&lt;p&gt;
Прозрачность сертификата
Прозрачность сертификатов — это открытая платформа, предназначенная для защиты от неправильной выдачи сертификатов и отслеживания таких случаев. Вновь выпущенные сертификаты «записываются» в общедоступные, часто независимые журналы CT, которые поддерживают только добавление, криптографически гарантированную запись о выпущенных сертификатах TLS.
&lt;/p&gt;

&lt;p&gt;
Смешанное содержание
Страница HTTPS, которая включает содержимое, полученное с использованием незашифрованного текста HTTP, называется страницей со смешанным содержимым . Подобные страницы зашифрованы лишь частично, поэтому незашифрованный контент остается доступным для снифферов и злоумышленников.
&lt;/p&gt;

&lt;p&gt;
Как исправить сайт с заблокированным смешанным контентом
Если ваш веб-сайт предоставляет страницы HTTPS, весь активный смешанный контент, доставляемый через HTTP на этих страницах, будет заблокирован по умолчанию. Следовательно, ваш веб-сайт может показаться пользователям неработающим (если не загружаются iframe или плагины и т. д.). Пассивное смешанное содержимое отображается по умолчанию, но пользователи могут настроить блокировку и этого типа содержимого. На этой странице объясняется, что вы должны знать как веб-разработчик.
&lt;/p&gt;

&lt;p&gt;
Слабые алгоритмы подписи
Надежность алгоритма хеширования, используемого при подписании цифрового сертификата, является критическим элементом безопасности сертификата. В этой статье содержится некоторая информация об известных алгоритмах подписи, поэтому вы можете избегать их, когда это уместно.
&lt;/p&gt;

&lt;p&gt;
Безопасные контексты и разрешения функций
Браузеры контролируют использование нескольких «мощных функций» несколькими способами. Под «мощными функциями» мы подразумеваем такие вещи, как создание системных уведомлений сайтом, использование веб-камеры пользователя для доступа к медиапотоку, управление системным графическим процессором и использование веб-платежей. Если бы сайт мог просто без ограничений использовать &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;-интерфейсы, управляющие такими функциями, разработчики-злоумышленники могли бы, например:
&lt;/p&gt;

&lt;p&gt;
Раздражайте пользователей ненужными уведомлениями и другими функциями пользовательского интерфейса.
Засоряют их браузер/систему для создания атак типа «отказ в обслуживании» (DoS).
Украсть данные или деньги.
Такие функции браузера управляются следующим образом:
&lt;/p&gt;

&lt;p&gt;
Во-первых, использование таких функций разрешено только в безопасных контекстах . Безопасный контекст — это a windowили a worker, для которого есть достаточная уверенность в том, что контент доставлен безопасно (через HTTPS/TLS). В безопасном контексте возможности для связи с контекстами, которые не являются безопасными, ограничены. Безопасные контексты также помогают предотвратить доступ злоумышленников к мощным &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;-интерфейсам браузера.
&lt;/p&gt;

&lt;p&gt;
Примечание. См. также раздел Функции, ограниченные безопасным контекстом . В этом справочнике перечислены функции веб-платформы, доступные только в безопасном контексте.
&lt;/p&gt;

&lt;p&gt;
Во-вторых, использование этих функций ограничено системой пользовательских разрешений — пользователи должны явно согласиться на предоставление доступа к таким функциям, а это означает, что эти функции не могут использоваться автоматически. Запросы разрешений пользователя выполняются автоматически, но вы можете запросить состояние разрешения &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; с помощью &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; разрешений .
&lt;/p&gt;

&lt;p&gt;
В-третьих, многие другие функции браузера могут использоваться только в ответ на действия пользователя, такие как нажатие кнопки, а это означает, что их нужно вызывать из соответствующего обработчика событий. Это часто называют временной активацией . Дополнительную информацию см. в разделе «Функции, закрытые активацией пользователя» .
&lt;/p&gt;

&lt;p&gt;
Вопросы безопасности для разработчиков на стороне клиента
Есть много аспектов веб-безопасности, о которых необходимо подумать на стороне сервера и клиента. В следующих разделах основное внимание уделяется вопросам безопасности на стороне клиента. Вы можете найти полезный обзор безопасности с точки зрения сервера, который также включает описания распространенных атак, на которые следует обратить внимание, в разделе « Безопасность веб-сайта» (часть нашего модуля обучения программированию веб-сайта на стороне сервера ).
&lt;/p&gt;

&lt;p&gt;
Храните данные на стороне клиента ответственно
Ответственное обращение с данными в значительной степени связано с сокращением использования файлов cookie и осторожностью в отношении данных, которые вы в них храните. Традиционно веб-разработчики использовали файлы cookie для хранения всех видов данных для самых разных целей, и злоумышленникам было легко использовать эту тенденцию. В результате браузеры начали ограничивать действия, которые вы можете выполнять с помощью межсайтовых файлов cookie, с целью полностью закрыть к ним доступ в будущем.
&lt;/p&gt;

&lt;p&gt;
Вам следует подготовиться к удалению межсайтовых файлов cookie, ограничив количество действий по отслеживанию, на которые вы полагаетесь, и/или реализуя желаемое сохранение информации другими способами.
&lt;/p&gt;

&lt;p&gt;
Например:
&lt;/p&gt;

&lt;p&gt;
Используйте альтернативный механизм хранения на стороне клиента, например &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; веб-хранилища, для сохранения данных. Недостатком веб-хранилища является то, что данные хранятся для каждого источника, поэтому ими нельзя поделиться. Обратите внимание, что веб-хранилище имеет два варианта — sessionStorageи localStorage. Мы рекомендуем использовать его sessionStorageдля дополнительной безопасности, так как данные сохраняются только в течение времени жизни окна или вкладки, в которой они существуют. localStorageДанные сохраняются даже после закрытия и повторного открытия окна или вкладки. Это означает, что существует большая вероятность того, что он попадет в чужие руки, например, на общую рабочую станцию.
Используйте такие технологии, как IFrame без учетных данных , собственные наборы и/или &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; доступа к хранилищу , чтобы разрешить вашим сайтам разрешать использование межсайтовых файлов cookie безопасным и контролируемым способом или полностью их блокировать. В настоящее время эти технологии имеют ограниченную поддержку браузеров.
Используйте решение на стороне сервера для сохранения данных.
Ознакомьтесь с нашим руководством по конфиденциальности и, в частности, с сокращением отслеживающих файлов cookie , чтобы узнать больше об этом.
&lt;/p&gt;

&lt;p&gt;
Защитите личность пользователя и управляйте логинами
При внедрении безопасного решения, включающего сбор данных, особенно если данные являются конфиденциальными, например учетные данные для входа в систему, имеет смысл использовать надежное решение от уважаемого поставщика. Например, любая респектабельная серверная среда будет иметь встроенные функции для защиты от распространенных уязвимостей. Вы также можете рассмотреть возможность использования специализированного продукта для своих целей, например решения поставщика удостоверений или поставщика безопасных онлайн-опросов.
&lt;/p&gt;

&lt;p&gt;
Если вы хотите внедрить собственное решение для сбора пользовательских данных, убедитесь, что вы понимаете все аспекты и требования. Наймите опытного разработчика серверной части и/или инженера по безопасности для внедрения системы и убедитесь, что она тщательно протестирована. Используйте многофакторную аутентификацию (MFA), чтобы обеспечить лучшую защиту. Рассмотрите возможность использования выделенного &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;, такого как веб-аутентификация или интегрированное управление учетными данными , для оптимизации клиентской части приложения.
&lt;/p&gt;

&lt;p&gt;
Вот еще несколько советов по обеспечению безопасного входа в систему:
&lt;/p&gt;

&lt;p&gt;
При сборе информации для входа в систему используйте надежные пароли, чтобы нельзя было легко угадать данные вашей учетной записи пользователя. Слабые пароли являются одной из основных причин нарушений безопасности. Кроме того, поощряйте своих пользователей использовать менеджер паролей, чтобы они могли использовать более сложные пароли, не беспокоясь о том, чтобы запомнить их, и не создавали угрозы безопасности, записывая их. См. также нашу статью о небезопасных паролях .
Вы также должны информировать своих пользователей о фишинге . Фишинг — это действие по отправке пользователю сообщения (например, по электронной почте или SMS), содержащего ссылку на сайт, который выглядит как сайт, который он посещает каждый день, но на самом деле им не является. Ссылка сопровождается сообщением, предназначенным для того, чтобы заставить пользователей ввести свое имя пользователя и пароль на сайте, чтобы они могли быть украдены, а затем использованы злоумышленником в злонамеренных целях.
Примечание. Некоторые фишинговые сайты могут быть очень сложными, и их трудно отличить от настоящего веб-сайта. Поэтому вам следует научить своих пользователей не доверять случайным ссылкам в электронных письмах и SMS-сообщениях. Если они получают сообщение типа «Срочно, вам нужно войти в систему сейчас, чтобы решить проблему», они должны перейти на сайт непосредственно в новой вкладке и попробовать войти напрямую, а не щелкать ссылку в сообщении. Или они могут позвонить или написать вам по электронной почте, чтобы обсудить полученное сообщение.
&lt;/p&gt;

&lt;p&gt;
Защитите от атак методом грубой силы на страницы входа с помощью ограничения скорости , блокировки учетной записи после определенного количества неудачных попыток и проверки CAPTCHA .
Управляйте сеансами входа пользователей с уникальными идентификаторами сеансов и автоматически отключайте пользователей после периодов бездействия.
Не включайте конфиденциальные данные в строки запроса &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;
Как правило, вы не должны включать конфиденциальные данные в строки запроса &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; : если третья сторона перехватит &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адрес (например, через Refererзаголовок HTTP), они могут украсть эту информацию. Еще более серьезным является то, что эти &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адреса могут быть проиндексированы общедоступными поисковыми роботами, HTTP-прокси и инструментами архивирования, такими как интернет- архив , а это означает, что ваши конфиденциальные данные могут храниться на общедоступных ресурсах.
&lt;/p&gt;

&lt;p&gt;
Используйте POSTзапросы, а не GETзапросы, чтобы избежать этих проблем. В нашей статье Политика заголовков Referer: вопросы конфиденциальности и безопасности более подробно описываются риски конфиденциальности и безопасности, связанные с Refererзаголовком, и предлагаются советы по снижению этих рисков.
&lt;/p&gt;

&lt;p&gt;
Примечание. Отказ от передачи конфиденциальных данных в &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-адресах через GETзапросы также помогает защититься от подделки межсайтовых запросов и атак повторного воспроизведения .
&lt;/p&gt;

&lt;p&gt;
Применение политик использования
Рассмотрите возможность использования таких инструментов, как политика безопасности контента (CSP) и политика разрешений , чтобы обеспечить использование набора функций и ресурсов на вашем сайте, что затрудняет внедрение уязвимостей.
&lt;/p&gt;

&lt;p&gt;
CSP позволяет вам добавить уровень безопасности, например, разрешив загрузку изображений или сценариев только из определенных надежных источников. Это помогает обнаруживать и смягчать определенные типы атак, включая межсайтовый скриптинг ( XSS ) и атаки с внедрением данных. Эти атаки включают в себя ряд вредоносных действий, включая кражу данных, порчу сайта и распространение вредоносных программ.
&lt;/p&gt;

&lt;p&gt;
Политика разрешений работает аналогичным образом, за исключением того, что она больше связана с разрешением или блокировкой доступа к определенным «мощным функциям» ( как упоминалось ранее ).
&lt;/p&gt;

&lt;p&gt;
Примечание. Такие политики очень полезны для обеспечения безопасности сайтов, особенно если вы используете много стороннего кода на своем сайте. Однако имейте в виду, что если вы заблокируете использование функции, от которой зависит работа стороннего скрипта, вы можете нарушить функциональность вашего сайта.
&lt;/p&gt;

&lt;p&gt;
Поддерживать целостность данных
Следуя предыдущему разделу, когда вы разрешаете использование функций и ресурсов на своем сайте, вы должны попытаться убедиться, что ресурсы не были подделаны.
&lt;/p&gt;

&lt;p&gt;
Похожие темы:
&lt;/p&gt;

&lt;p&gt;
Целостность субресурсов
Целостность подресурсов (SRI) — это функция безопасности, которая позволяет браузерам проверять, что ресурсы, которые они извлекают (например, из CDN ) , доставляются без непредвиденных манипуляций. Он работает, позволяя вам предоставить криптографический хэш, которому должен соответствовать извлеченный ресурс.
&lt;/p&gt;

&lt;p&gt;
HTTP Access-Control-Allow-Origin
Заголовок Access-Control-Allow-Originответа указывает, может ли ответ использоваться совместно с кодом запроса из данного источника .
&lt;/p&gt;

&lt;p&gt;
HTTP X-Content-Type-Options
HTTP-заголовок ответа X-Content-Type-Options— это маркер, используемый сервером для указания того, что типы MIME , объявленные в Content-Typeзаголовках, не должны изменяться и им следует следовать. Это способ отказаться от прослушивания MIME-типов , или, другими словами, сказать, что MIME-типы настроены преднамеренно.
&lt;/p&gt;

&lt;p&gt;
Дезинфекция ввода формы
Как правило, не доверяйте ничему, что пользователи вводят в формы. Заполнять онлайн-формы сложно и утомительно, и пользователи могут легко ввести неправильные данные или данные в неправильном формате. Кроме того, злоумышленники хорошо разбираются в искусстве ввода определенных строк исполняемого кода в поля формы (например, SQL или JavaScript). Если вы не будете осторожны с обработкой этих типов входных данных, он может либо выполнить вредоносный код на вашем сайте, либо удалить ваши базы данных. См. SQL-инъекцию для хорошего примера того, как это может произойти.
&lt;/p&gt;

&lt;p&gt;
Чтобы защититься от этого, вы должны тщательно дезинфицировать данные, введенные в ваши формы:
&lt;/p&gt;

&lt;p&gt;
Вы должны реализовать проверку на стороне клиента, чтобы информировать пользователей о том, что они ввели данные в неправильном формате. Вы можете сделать это, используя встроенные функции проверки формы &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;, или вы можете написать свой собственный код проверки. Дополнительную информацию см. в разделе Проверка формы на стороне клиента .
Вы должны использовать кодировку вывода при отображении пользовательского ввода в пользовательском интерфейсе приложения, чтобы безопасно отображать данные точно так, как их ввел пользователь, чтобы избежать их выполнения в виде кода. Дополнительную информацию см. в разделе Кодирование вывода .
Однако в целях безопасности нельзя полагаться только на проверку на стороне клиента. Это полезное улучшение пользовательского опыта для ваших пользователей, потому что оно дает им мгновенную обратную связь проверки без необходимости ждать, пока сервер туда и обратно. В то же время проверку на стороне клиента слишком легко обойти злоумышленнику (например, отключив JavaScript в браузере, чтобы обойти проверку на основе JavaScript), поэтому ее следует сочетать с проверкой на стороне сервера.
&lt;/p&gt;

&lt;p&gt;
Любая авторитетная серверная структура предоставит функциональность для проверки отправки форм. Кроме того, общепринятой передовой практикой является экранирование любых специальных символов, которые являются частью синтаксиса исполняемого файла, что делает любой введенный код более неисполняемым и обрабатывается как обычный текст.
&lt;/p&gt;

&lt;p&gt;
Защита от кликджекинга
При кликджекинге пользователя обманом заставляют щелкнуть элемент пользовательского интерфейса, который выполняет действие, отличное от ожидаемого пользователем. Это может быть риск, связанный со встроенным сторонним контентом (убедитесь, что вы доверяете тому, что встраивается на ваш сайт), а также может сочетаться с фишингом.
&lt;/p&gt;

&lt;p&gt;
Следующие функции могут помочь защититься от кликджекинга:
&lt;/p&gt;

&lt;p&gt;
Параметры HTTP X-Frame
Заголовок ответа HTTP можно использовать, чтобы указать, следует ли разрешить браузеру отображать страницу в формате , , или . Сайты могут использовать это, чтобы избежать атак кликджекинга , гарантируя, что их контент не будет встроен в другие сайты.X-Frame-Options &amp;lt;frame&amp;gt;&amp;lt;iframe&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;object&amp;gt;
&lt;/p&gt;

&lt;p&gt;
CSP: фреймы-предки
Директива HTTP Content-Security-Policy(CSP) frame-ancestorsуказывает действительных родителей, которые могут встраивать страницу с помощью &amp;lt;frame&amp;gt;, &amp;lt;iframe&amp;gt;, &amp;lt;object&amp;gt;или &amp;lt;embed&amp;gt;.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 21 Aug 2023 15:48:52 +0000</pubDate>
        </item>
    </channel>
</rss>
