Правило ограничения домена
Правило ограничения домена (Same Origin Policy, в переводе с англ. — «Принцип одинакового источника») — это важная концепция безопасности для некоторых языков программирования на стороне клиента, таких как JavaScript. Политика разрешает сценариям, находящимся на страницах одного сайта, доступ к методам и свойствам друг друга без ограничений, но предотвращает доступ к большинству методов и свойств для страниц на разных сайтах. Одинаковые источники — это источники, у которых совпадают три признака:
История
Концепция правила ограничения домена появилась во времена Netscape Navigator 2.0. Скрытые производные оригинальной разработки используются во всех современных браузерах, а также в плагинах, таких как Adobe Flash либо для механизмов отличных от DOM манипуляций, таких как XMLHttpRequest.
Проверочная таблица
Для иллюстрации, следующая таблица даёт обзор типичных проверок для сравнения с примером URL «http://www.example.com/dir/page.html».
Сравниваемый URL | Проверка | Причина |
---|---|---|
http://www.example.com/dir/page.html | Соответствует | Тот же протокол и домен |
http://www.example.com/dir2/other.html | Соответствует | Тот же протокол и домен |
http://username:password@www.example.com/dir2/other.html | Соответствует | Тот же протокол и домен |
http://www.example.com:81/dir/other.html | Не соответствует | Тот же протокол и домен, но другой порт |
https://www.example.com/dir/other.html | Не соответствует | Отличается протокол |
http://en.example.com/dir/other.html | Не соответствует | Отличается домен |
http://example.com/dir/other.html | Не соответствует | Отличается домен (требуется полное соответствие) |
http://v2.www.example.com/dir/other.html | Не соответствует | Отличается домен (требуется полное соответствие) |
http://www.example.com:80/dir/other.html | Не определено | Явное указание порта. Зависит от реализации в браузере. |