Насколько безопасны CDN для доставки jQuery?

not setCollectionViewLayout понравилось: [self.collectionView setCollectionViewLayout: flowLayout]; попробуйте установить, когда init: [[UICollectionView alloc] initWithFrame: коллекция кадровViewLayout: defaultLayout];

21
задан Sam 17 August 2014 в 20:39
поделиться

3 ответа

Один из способов снизить риск - проверить контрольную сумму файла, полученного от Google, и сравнить ее с заведомо исправной контрольной суммой, уже имеющейся у вас.

В ответ на вопрос о том, изменяет ли Google эти файлы каким-либо образом, сотрудник Google Бен Лисбаккен предложил сравнить контрольные суммы MD5 файла, предоставленного Google, с канонической версией того же файла, полученной из его домашний сайт сопровождающих. Прочтите восьмой комментарий на связанном сайте, чтобы узнать контекст.

Если вас беспокоит перехват DNS, то, конечно же, к файлу, полученному с "исходного" сайта, будут относиться те же проблемы. Вы также, вероятно, не хотите подвергаться штрафу за скорость выполнения контрольной суммы файла jQuery при каждом запросе - если только вы не параноик. И, конечно же, это лишит вас всех преимуществ использования CDN.

Но если вы только несколько параноик, вы можете попробовать что-нибудь вроде этого:

  • Убедитесь, что вы ссылаетесь на уникальную и конкретную версию файла jQuery от Google. Например, сделайте следующее:

     http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
    

    , а не это:

     http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
    

    Последняя версия может вернуть 1.4.2 сейчас, но 1.4.3 завтра. Если у вас есть сочетание http и https, вы можете использовать URL-адреса, относящиеся к протоколу, например:

     // ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
    
  • Первоначально сгенерируйте и сохраните вашу собственную контрольную сумму для этого файла.

  • Периодически повторяйте процесс и убедитесь, что новая контрольная сумма совпадает со старой.Если нет, подайте клаксоны.

Вы, конечно, можете сделать это программно. Вы сами решаете, какой интервал имеет смысл. Каждую минуту? Каждые пять? Теперь у вас есть устройство автоматического выключателя, чувствительность которого вы можете настроить по своему усмотрению. Подпрограмма «монитора» определенно не должна выполняться синхронно в приложении, которое вы хотите защитить; возможно, вы запускаете небольшое служебное приложение на том же сервере только для этой цели.

Проверить это достаточно просто: просто измените сохраненный хеш. Поскольку вы ссылаетесь на конкретную версию файла, кнопка паники не будет нажиматься при каждом обновлении дополнительной версии. Если вы действительно хотите перейти на новую версию jQuery, измените URL-адрес AJAX API на своем сайте и сохраните новый хэш.

6
ответ дан 29 November 2019 в 22:15
поделиться

Как отмечают ваши коллеги, взлом DNS-сервера здесь может стать проблемой. Этого не было бы, если бы вы обслуживали библиотеку с того же хоста, что и ваш сайт. Однако, если кто-то использует HTTPS, маловероятно, что у злоумышленника будет действующий сертификат на поддельном сайте. Я не знаю, как браузеры отреагируют на это, но подозреваю, что они отметят сайт как небезопасный (так как какой-то его части нельзя доверять) и будут действовать соответственно.

Короче говоря; если доступ к CDN также осуществляется по протоколу HTTPS, больших рисков быть не должно.

Изменить: Также рассмотрите проблему конфиденциальности, упомянутую Гертом G .

1
ответ дан 29 November 2019 в 22:15
поделиться

Если в Интернете существует доверие, то наиболее надежным является Google ...

Нет сомнений в том, что Google CDN безопасен, но проблемы всегда возникают из-за качества Интернет-соединения пользователя / сервера .

Кстати, если вы включите библиотеку jQuery в скрипт загрузчика Google API, Google добавит небольшой код отслеживания статистики в доступные библиотеки JavaScript для CDN ( около +4 КБ, см. В Firebug ), что составляет 20 КБ. минимизированная и сжатая библиотека jQuery немного тяжелая, плюс предусмотрена скорость SSL.

В любом случае минимизация / сжатие / кеширование jQuery в наши дни не проблема, я предлагаю сделать свой собственный ...

-3
ответ дан 29 November 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: