Улучшить эту документацию Просмотреть исходный код $sceDelegateProvider
- $sceDelegate
- поставщик в модуле ng
Поставщик $sceDelegateProvider позволяет разработчикам настраивать службу $sceDelegate. Это позволяет получить/установить списки разрешенных и запрещенных URL-адресов, используемых для обеспечения безопасности URL-адресов, используемых для получения Angular-шаблонов. Обратитесь к $sceDelegateProvider.resourceUrlWhitelist и $sceDelegateProvider.resourceUrlBlacklist.
Для получения общей информации об этой службе в Angular, ознакомьтесь со страницей Strict Contextual Escaping (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. Используется моментальный снимок этого массива, поэтому дальнейшие изменения массива игнорируются.
Следуйте этой ссылке для описания элементов, разрешенных в этом массиве.
Примечание: пустой массив whitelist заблокирует все URL-адреса!Возвращаемое значение
Arrayтекущий установленный массив whitelist.
Значение по умолчанию, когда список разрешенных ресурсов не был явно установлен, это
['self'], что разрешает только запросы ресурсов из одного источника. -
resourceUrlBlacklist([blacklist]);
Устанавливает/получает список запрещенных URL-адресов ресурсов.
Параметры
Параметр Тип Подробности blacklist (необязательно)ArrayЕсли указано, заменяет resourceUrlBlacklist предоставленным значением. Это должен быть массив или null. Используется моментальный снимок этого массива, поэтому дальнейшие изменения массива игнорируются.
Следуйте этой ссылке для описания элементов, разрешенных в этом массиве.
Типичное использование списка запрещенных ресурсов — это блокировка открытых редиректов, предоставляемых вашим доменным именем, так как в противном случае они будут доверенными, но фактически вернут контент с перенаправляемого домена.
И, наконец, список запрещенных ресурсов переопределяет список разрешенных ресурсов и принимает окончательное решение.
Возвращаемое значение
Arrayтекущий установленный массив blacklist.
Значение по умолчанию, когда список разрешенных ресурсов не был явно установлен, это пустой массив (т.е. списка запрещенных ресурсов нет).
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/provider/$sceDelegateProvider