Улучшить эту документацию Просмотреть исходный код $sceDelegateProvider
- $sceDelegate
- поставщик в модуле ng
Поставщик $sceDelegateProvider позволяет разработчикам настраивать службу $sceDelegate. Это позволяет получить/установить списки разрешенных и запрещенных URL-адресов, используемых для обеспечения безопасности URL-адресов, используемых для получения угловых шаблонов. Обратитесь к $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. Используется моментальный снимок этого массива, поэтому дальнейшие изменения в массиве игнорируются.
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.3.20/docs/api/ng/provider/$sceDelegateProvider