2015-06-15 4 views
3

Привет, я хотел бы узнать о характеристиках безопасности угловых js.I прочитал, что угловые обеспечивают встроенную защиту от базовых дыр в безопасности.Функции безопасности в angularjs

  1. Это предотвращает атаки с использованием межстрановых скриптов.
  2. Предотвращает атаки HTML-инъекций.
  3. Предотвращение защиты XSRF для связи на стороне сервера.

каковы лучшие практики, чтобы сделать прикрепленную угловое приложение, делает ngCsp, $ SCE и $ дезинфицировать действительно требуется для обеспеченных веб-приложение

+2

Это слишком широкий вопрос без какого-либо прецедента. Угловые функции, описанные в этой статье, великолепны, но есть способы обойти эти функции, если вы не знаете, что делаете с JS. Добавьте пример использования с кодом, чтобы продемонстрировать его, и может быть предоставлен более подходящий ответ. –

+0

@Ben Rondeau спасибо за ваш ответ, я просто хочу добавить базовый уровень безопасности в свое приложение, не делая его медленнее, что будет включать в себя все три пункта, которые я указал выше. Если вы можете предоставить какой-то пример или какую-нибудь статью для справки это было бы большой помощью. –

ответ

3

Вы можете включить AngularJS поддержку CSP. Подробнее здесь. Пример кода ниже:

<!doctype html> 
<html ng-app ng-csp> 
... 
... 
</html> 

ng-csp силы не использовать код, который может быть введен как eval и Function. ng-sanitize от doc.

Ввод дезинфицируется путем разбора HTML в токенах. Все безопасные токены (из белого списка) затем сериализуются обратно, чтобы правильно экранировать строку html. Это означает, что небезопасный ввод может привести к возвратной строке , однако, поскольку наш синтаксический анализатор является более строгим, чем обычный синтаксический анализатор браузера , возможно, что какой-то неясный ввод, который будет признан действительным HTML браузером, выиграл Проведите через дезинфицирующее средство. Ввод также может содержать разметку SVG. Белый список , сконфигурированный с использованием функций aHrefSanitizationWhitelist и imgSrcSanitizationWhitelist из $ compileProvider.

Это просто вы не можете прикрепить мир кода, используя innerHTML.

За $ sce вы можете ссылаться на следующие ссылки. TrustasHTML и с его хорошим tutorial.

Помимо этого, вы можете использовать токен аутентификации.

Редактирование: вы можете проверить ввод в backend, чтобы убедиться, что впрыски не выполнены.

Смежные вопросы