Какие риски связаны с размещением сторонних Javascripts? - PullRequest
9 голосов
/ 08 октября 2010

Я новый разработчик в своей компании, и я занимаюсь в основном интерфейсной веб-разработкой.Сотрудники отдела продаж и маркетинга часто просят нашу команду разместить на нашем сайте сторонние javascript-коды.

"Вот небольшой фрагмент кода. Наш продавец спросил, не могли бы вы добавить это на нашей домашней странице"

Это меня очень нервирует.

Я знаю, что эти скрипты могут замедлять наши страницы, и я обнаружил, что в некоторых случаях мне приходилось окружать некоторый код блоками 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.

Меньшая проблема, но все же важная, это запись файлов cookie - и превышение лимита в 20 файлов cookie IE6 (да, важная клиентская база по-прежнему работает на IE6, и они представляют реальный $$$) - поэтому мы требуем (надеюсь) отсутствия javascriptsразмещенный на нашем домене удаляет любые дополнительные куки.

Но, кроме вопроса о файлах cookie - какие существуют дополнительные риски / сценарии / опасности, о которых мне нужно знать или которых нужно отслеживать, - чтобы я мог порадовать наш сайт и наших клиентов.

Спасибо

- Богат

Ответы [ 5 ]

7 голосов
/ 09 октября 2010

Нет, это большое слово с большой силой. Держи это хорошо.

Вы НЕ ОБЯЗАНЫ (за исключением юридических и договорных соглашений) включать любые фрагменты кода из источников, которые вы не знаете и полностью им доверяете. Если вы нервничаете и несете ответственность за стабильность и безопасность своего сайта, ПРОСТО СКАЖИТЕ №.

JavaScript может быть диким зверем для приручения. Один маленький, казалось бы, безобидный сценарий очень легко разрушить весь дом. Никогда не относитесь к любому простому сценарию, как к его «просто глупой мелочи». Все, что требуется, это заменить один скрипт на ключевую функцию, на которую, например, опирается JQuery, AJAX или какая-то другая библиотека, и ваш сайт рухнет во славе.

3 голосов
/ 09 октября 2010

Всегда существует вероятность того, что сервер вендоров будет взломан, и они сделают какой-то XSS.

2 голосов
/ 09 октября 2010

Похоже, вы уже знаете основные из них: замедление работы страницы и вероятность того, что сторонние скрипты сторонних производителей могут сломаться или не появиться, вызывая проблемы.

Это также зависит от надежности этих третьих лиц. Всегда есть изменение, которое их скрипт может заменить чем-то вредоносным.

0 голосов
/ 09 октября 2010

IE 8+ имеет новую функцию, названную In Private Filtering, которая в основном утверждает, что, если он находит тот же файл javascript из N (настраиваемого) числа доменов, он просто блокирует его после достижения предела. Это было бы плохо, если бы это был jquery, например. Это отключено по умолчанию, но это все еще проблема, если пользователи используют его.

0 голосов
/ 09 октября 2010

Зачем нести бремя ответственности за код, который вы не написали?Если что-то пойдет не так, могу поспорить, ваш менеджер не возьмет на себя ответственность поставщиков - они будут держать васПоэтому скажите «нет» этому, даже если это означает изменение вашей работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...