Spec-Zone.ru › Angular.js 1.3

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

  1. $sceDelegate
  2. поставщик в модуле 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

Spec-Zone.ru

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