Что нужно учитывать при разрешении другим сайтам использовать скрипты прямо с вашего сайта? - PullRequest
2 голосов
/ 22 сентября 2010

У меня есть функция jQuery, которая проходит по странице, находит ссылки на определенный домен, выполняет ajax-вызов для получения некоторых данных и создает всплывающую подсказку, когда посетитель наводит указатель мыши на ссылку. Так же, как wowhead.com / всплывающие подсказки .

Что следует учитывать при разрешении другим сайтам включать файлы сценариев, связанные непосредственно с вашим сайтом? Вот так:

  • Безопасность
  • Performance
  • стайлинг
  • ...?

1 Ответ

3 голосов
/ 23 сентября 2010

Существует небольшой риск для безопасности , если другие сайты указывают теги сценария на JavaScript, размещенный на вашем сайте.Все риски безопасности несут другие сайты, которые должны доверять вам , чтобы он не заменил ваш JavaScript на перехватчик файлов cookie, снимающий сессию, и т. Д. Я полагаю, если ваш сервис станет действительно популярным, ваш сайт может статьболее привлекательная цель для злоумышленников, чтобы они могли совершать аналогичные атаки на других сайтах, изменяя JS на вашем сервере.

Для производительность убедитесь, что ваш скрипт кэшируется как можно больше, используязаголовок далекое будущее истекает .Вы также хотели бы уменьшить его, чтобы сократить расходы на пропускную способность.Возможно, используйте сервер, оптимизированный для статического содержимого (nginx и т. Д.), А не полноценный экземпляр Apache, который вы могли бы использовать для динамического содержимого в том же домене.Также рассмотрите возможность размещения JS на CDN, если вы ожидаете, что много сайтов будут хотлинкировать ваш скрипт.

Стилизация может быть очень сложной, так как вы не контролируетестили, которые применяются к элементам, которые ваш скрипт вставляет в DOM сторонних сайтов.Возможно, всплывающей подсказкой может быть iframe, который отображает небольшую страницу размером с подсказку на вашем сайте, и тогда вы будете контролировать все.Больше пропускной способности, и ваша подсказка должна быть квадратной.

...