Spec-Zone.ru › Angular.js 1.5

Улучшить эту документацию Просмотреть исходный код $sceDelegateProvider

  1. $sceDelegate
  2. провайдер в модуле 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.

    Значение по умолчанию, когда список разрешенных URL-адресов не был явно задан, — ['self'], что разрешает только запросы ресурсов из одного источника.

  • resourceUrlBlacklist([blacklist]);

    Устанавливает/получает список запрещенных URL-адресов ресурсов.

    Параметры

    Параметр Тип Подробности
    blacklist
    (необязательно)
    Array

    Если указано, заменяет resourceUrlBlacklist предоставленным значением. Это должен быть массив или null. Используется моментальный снимок этого массива, поэтому дальнейшие изменения массива игнорируются.

    См. эту ссылку для описания элементов, разрешенных в этом массиве.

    Типичное использование списка запрещенных URL-адресов заключается в том, чтобы заблокировать открытые редиректы, предоставляемые вашим доменом, так как в противном случае они будут доверены, но фактически вернут содержимое из перенаправляемого домена.

    Наконец, список запрещенных URL-адресов переопределяет список разрешенных URL-адресов и имеет последнее слово.

    Возвращаемое значение

    Array

    текущий установленный массив blacklist.

    Значение по умолчанию, когда список разрешенных URL-адресов не был явно задан, — это пустой массив (т. е. нет списка запрещенных URL-адресов).

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/provider/$sceDelegateProvider

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API