История одного js скрипта

web development
1 мин. на чтение

Несколько лет назад я написал безобидную статью для блога компании Upwork, в которой поделился достаточно простым способом организации подсказок в input поле с помощью библиотеки Twitter Typeahead, они же search suggestions. Написал и забыл, но не так давно мой хостинг мягко напомнил, что в виртуальных тарифах разрешено не более 100 процессорных минут в сутки.

На этом хосте лежит мой безобидный блог, на котором обычно около 300-400 посещений в сутки и сгенерировать такой нагрузки на ЦП просто не реально.

Пришлось закатить рукава и полазить в логах и, о чудо, нашлась утечка. Оказалось, что в тексте статьи для Upwork, там где я писал куски кода, я вставил прямую ссылку на скрипт, который как раз и находился на этом ресурсе. А дальнейшее изучение сети Интернетов показало мне, что скрипт стал очень таки популярным и его (без стыда и совести) юзают десятки сайтов по всему земному шару.

Вот тот кусочек кода со статьи, который совершенно бездумно вставляли себе индусы:

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="//netsh.pp.ua/upwork-demo/1/js/typeahead.js"></script>

И вот последняя строчка имела прямую ссылку именно на мой блог (в статье присутствовала ссылка на демо). В тот момент я и подумать не мог, что найдутся такие специалисты, которые не глядя будут вставлять кусок кода, не особо вдаваясь в детали. А они нашлись и имя им легион.

Так же стоит отметить, что библиотека прекрасно может быть вставлена из CDN, например https://cdnjs.com/libraries/jquery-typeahead

От такой наглости я немного расстроился и обиделся. Уведомлять over 9000 сайтов, чтобы они убрали ссылку на мой сайт желания особого не было. В паре групп Телеграма, где я имею честь присутствовать, был объявлен конкурс на самую интересую идею изменения исходного кода скрипта. Победитель был прост, но изящен – перенаправление на Pornhub.com

Сделал и снова забыл. Но сегодня мне на почту пришло уведомление, что некий разработчик из солнечной Индии написал, что у него проблемы с моим скриптом 🤭

Т.к. дело было в кофейне и у меня было время, я полез в логи хостинга посмотреть что удалось «поймать» на мой скрипт и был мягко говорят в а%:?*()е. 2,5 Мб. чистого текста где были просто десятки сайтов, в т.ч. правительства Малайзии (если мне когда-то откажут в визе в эту страну, я пойму), риэлторские и эккаунтинговые компании из Великобритании, игровые порталы, аренда крупной техники из США и еще много много чего. Обиднее всего было за какую-то благотворительную церковную организацию и Университет Ататюрка в Турции.

Скриншот дня с сайта, о том, что у них были «маленькие технические проблемы»:

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

Мне стыдно? ))

Нет.

Я нигде не разрешал использовать ресурсы своего блога в коммерческих целях и на сторонних ресурсах, кроме того до поры, пока мне не писал хостинг (за который я плачу свои деньги), никакого внимания на злоупотребления не обращал.

Мораль

Если вы используете чужой код:

  1. Пожалуйста, читайте его!
  2. Используйте ресурсы своего хостинга или CDN.
  3. Profit!!!
Ihor Chyshkala

Пишу статьи про ИТ в свободное от работы время.

Оцените автора
Авторский блог Игоря Чишкалы
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  1. smidl

    Я бы так просто их не отпустил) изящных способов сделать больно нужно…

    п. с. ждём следующую статью про solid

    Ответить
  2. Виктор

    Можно было просто редиректить на скрипт в cdn’e да и всё, а вообще для демо скриптов лучше отдельно поддомен сделать.

    Ответить
  3. Виктор

    Никогда не понимал зачем получать скрипт с другого сайта. Малоли что может с ним случиться и скрипт уже не заработает на конечном сайте. Руки бы таким разработчикам пооткручивать.

    Ответить