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

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

Несколько лет назад я написал безобидную статью для блога компании 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
Пишу статьи про ИТ в свободное от работы время.
Оцените автора
Авторский блог Игоря Чишкалы
Добавить комментарий для smidl Отменить ответ

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

  1. smidl

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

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

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

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

    Ответить