2015-11-20 6 views
3

Я поставил приложение для блога django на Heroku, все работает так, как я должен сейчас, но у меня есть небольшой вопрос о Missing Subresource Integrity Protection.Отсутствует Защита целостности Subresource

Я довольно новичок в использовании аддонов heroku, но у меня есть настройка tinfoil для обеспечения безопасности, а после первого сканирования у меня обнаружено 3 уязвимости. Результаты сканирования показали, что я Missing Subresource Integrity Protection, они предложили мне это:

> All externally loaded resources must have their content pinned using 
    > the subresource integrity mechanisms provided by modern browsers. This 
    > involves computing a hash of the contents of the resource, and 
    > specifying this hash when loading that resource. In the case of a 
    > script, this might look like the following: 

     <script src="https://example.com/include.js" 
        integrity="sha256-Rj/9XDU7F6pNSX8yBddiCIIS+XKDTtdq0//No0MH0AE=" 
        crossorigin="anonymous"></script> 

SRI Hash is an option for computing the necessary hashes. 

Может кто-нибудь объяснить мне, что все это означает, так что я могу узнать что-то из этого, и что делать в будущем, так что я могу избежать такая ситуация?

ответ

1

Subresource integrity - это спецификация, которая «определяет механизм, посредством которого пользовательские агенты могут проверять, что извлеченный ресурс был доставлен без неожиданной манипуляции». Это в основном контрольная сумма для ваших активов, совместимые браузеры не будут загружать ресурс, если он не соответствует указанному значению целостности.

Это очень легко добавить в Rails, если ваша версия звездочек - 3.x или больше. Вы можете добавить проверку, следуя примеру из sprockets documentation:

javascript_include_tag :application, integrity: true 
# => "<script src="/assets/application.js" integrity="sha256-TvVUHzSfftWg1rcfL6TIJ0XKEGrgLyEq6lEpcmrG9qs="></script>" 

GitHub Engineering имеет interesting blog post, где они обсуждают эту функцию в длину.

+0

Я полагаю, что я могу добавить его в django тоже? – PetarP

+1

[В настоящее время эта поддержка отсутствует в django] (https://github.com/cyberdelia/django-pipeline/issues/501). Вам нужно будет рассчитать и добавить его самостоятельно. –

+0

Можете ли вы рассказать мне, как рассчитать это для моего приложения, или jist-подсказку, это понравится. – PetarP

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

  • Нет связанных вопросов^_^