Улучшить эту документацию Просмотреть исходный код $sceDelegateProvider
- $sceDelegate
- поставщик в модуле ng
Поставщик $sceDelegateProvider позволяет разработчикам настраивать службу $sceDelegate. Это позволяет получить/установить белые и чёрные списки, используемые для обеспечения безопасности URL-адресов, используемых для получения угловых шаблонов. Обратитесь к $sceDelegateProvider.resourceUrlWhitelist и $sceDelegateProvider.resourceUrlBlacklist
Для получения общей информации об этой службе в Angular, прочитайте главную страницу Строгого контекстного экранирования (SCE).
Пример: Рассмотрим следующий случай.
- ваш приложение размещено по адресу
http://myapp.example.com/ - но некоторые из ваших шаблонов размещены на других доменных именах, которые вы контролируете, таких как
http://srv01.assets.example.com/,http://srv02.assets.example.com/, и т. д. - и у вас есть открытый редирект по адресу
http://myapp.example.com/clickThru?....
Вот как может выглядеть безопасная конфигурация для этого сценария:
angular.module('myApp', []).config(function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
// Allow same origin resource loads.
'self',
// Allow loading from our assets domain. Notice the difference between * and **.
'http://srv*.assets.example.com/**'
]);
// The blacklist overrides the whitelist so the open redirect here is blocked.
$sceDelegateProvider.resourceUrlBlacklist([
'http://myapp.example.com/clickThru**'
]);
});
Методы
-
resourceUrlWhitelist([whitelist]);
Устанавливает/получает белый список надёжных URL-адресов ресурсов.
Параметры
Параметр Тип Подробности whitelist (необязательно)ArrayПри указании он заменяет resourceUrlWhitelist предоставленным значением. Это должен быть массив или null. Используется моментальный снимок этого массива, поэтому дальнейшие изменения массива игнорируются.
Follow this link for a description of the items allowed in this array. Note: **an empty whitelist array will block all URLs**!
Возвращает
Arrayтекущий установленный массив белого списка.
Значение по умолчанию, когда белый список не был явно задан, это
['self'], что позволяет только запросы ресурсов одного источника. -
resourceUrlBlacklist([blacklist]);
Устанавливает/получает чёрный список надёжных URL-адресов ресурсов.
Параметры
Параметр Тип Подробности blacklist (необязательно)ArrayПри указании он заменяет resourceUrlBlacklist предоставленным значением. Это должен быть массив или null. Используется моментальный снимок этого массива, поэтому дальнейшие изменения массива игнорируются.
Follow this link for a description of the items allowed in this array. The typical usage for the blacklist is to **block [open redirects](http://cwe.mitre.org/data/definitions/601.html)** served by your domain as these would otherwise be trusted but actually return content from the redirected domain. Finally, **the blacklist overrides the whitelist** and has the final say.
Возвращает
Arrayтекущий установленный массив чёрного списка.
Значение по умолчанию, когда чёрный список не был явно задан, это пустой массив (т. е. чёрного списка нет).
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.2.32/docs/api/ng/provider/$sceDelegateProvider