Каковы риски, связанные с хостингом 3rd party Javascripts?
Я новый разработчик в моей компании и я делаю в основном интерфейсном веб-разработки. Наша команда часто просят наших продаж и маркетинга людей, чтобы включить 3rd партия javascripts на нашем сайте.
"вот маленький фрагмент кода'. Наш поставщик спросил, Можете ли вы поместить это на нашу домашнюю страницу"
Это заставляет меня очень нервничать.
Я знаю, что эти сценарии могут замедлить наши страницы, и я нашел в ряде случаев мне пришлось заключить код с блоками try/catch, чтобы гарантировать, что эти ошибки сторонних производителей не влияют на другие сценарии на странице.
эти сценарии придут ко мне в различных формах ...
некоторые сценарии, поставляемые поставщиком, которые мы размещаем ...
<script src="http://www.mycompany.com/js/vendor-file.js" type="text/javascript">
... некоторые ссылки в коде, но размещенные
<script src="http://www.vendor.com/js/file.js" type="text/javascript">
... и некоторые скрипты появляются на нашем сайте, которые вставляют теги в нашу голову, написав на DOM
var a = document.createElement("script"); a.type = "text/javascript" ... etc.
A менее важна, но еще важнее печенье письмо-и более в ИЕ6 по 20 печенье предела (да, важную клиентскую базу еще на IE6 и они представляют реальные$$$) - так что мы требуем (надеюсь), что нет Java-скрипты размещаются на нашем домене капель какого-либо дополнительного печенье.
но, помимо проблемы cookie - какие дополнительные риски / сценарии / опасности существуют, о которых мне нужно знать или которые я должен искать, чтобы я мог сохранить наш сайт и наших клиентов счастливыми.
спасибо
-богатый
5 ответов
нет-это большое слово с большой властью. Владей им хорошо.
вы не обязаны (за исключением юридических и договорных соглашений) включать любые фрагменты кода из источников, которые вы не знаете и полностью доверяете. Если вы нервничаете и несете ответственность за стабильность и безопасность своего сайта, Просто скажите "нет".
JavaScript может быть диким зверем для укрощения. Это очень легко для одного маленького, казалось бы, безобидного сценария, чтобы привести весь дом крушению. Никогда не лечите простой сценарий, как его " просто глупая маленькая вещь."Все, что требуется для одного сценария, чтобы заменить ключевую функцию, на которую, скажем, полагается JQuery, или AJAX, или какая-то другая библиотека, и ваш сайт пойдет вниз в блеске славы.
похоже, вы уже знаете об основных: замедление страницы, и вероятность того, что сторонние не размещенные скрипты могут сломаться или не присутствовать, вызывая проблемы.
Это также зависит от надежности этих 3 сторон. Всегда есть изменение, которое их скрипт может заменить чем-то вредоносным.
Зачем нести бремя ответственности за код, который ты не писал? Если что - то пойдет не так, бьюсь об заклад, ваш менеджер не будет винить поставщиков-они будут держать вас. Так что скажите " НЕТ " этому, даже если это означает изменение вашей работы.
IE 8+ имеет новую функцию с именем в частной фильтрации, которая в основном утверждает, что если он находит тот же файл javascript из N (настраиваемого) числа доменов, он просто блокирует его после достижения предела. Это было бы плохо, если бы это был, например, jquery. Это отключено по умолчанию, но это все еще проблема, если пользователи используют его.