как я сломал повсеместно протянутую паутину
В общаге миэта, где я жил с 2000 по 2005 год, есть интернет. Он был там не всегда, но в тот момент его уже предоставлял провайдер Смартлоджик. Приходилось платить за трафик, так что картинки отключались, банеры резались, флешки смотрелись по выходным, и все хотели побольше интернета.
Стоит заметить, что щедрый провайдер помимо собственно доступа в глобальную электронную сеть предоставлял небольшой хостинг, на который можно было положить собственный сайтик. Причем доступ хозяина к этому сайтику не оплачивался — то есть, скачать лежащий в своём каталоге файлик можно было на халяву. На халяву. Кроме того, хозяин не платил и за тот трафик, который проходил между посетителями сайта и хозяевами. То есть, если кто-то другой закачал на ваш сайт 10 мегабайт музыки, можно было получить их на свой комп бесплатно.
Естественно, я сразу подумал, кого бы попросить качать для меня полезные вещи. Просить было некого. Тем более, что в настройках сервера размер полезной вещи ограничивался каким-то смешным числом мегабайт. И тогда я подумал: а что, если сам сайт будет выкачивать плюшки для меня.
Самый логичный способ — из командной строки запустить какой-нибудь wget и иметь то, что хочешь. Очень правильный подход, только недоступный при отсутствии командной строки, как у меня.
Тут мне пригодилось то, что Смартлоджик все-таки провайдер, а не хостер, и настраивать хостинг, по-хорошему, он не умеет. (Откровенно говоря, он и инет предоставлять тогда особо не умел.) Дело в том, что на этом хостинге скрипты сайта имели доступ во внешний мир. То есть, я просто мог передать им ссылку на файл, и через какое-то время забрать его с ftp. Сколько радости было, когда это сработало в первый раз!
Но такой закачки мне было мало. Я немного подумал, и решил, что раз браузер передаёт скрипту адрес, то ничто не мешает скрипту отдавать браузеру данные с этого адреса — то есть, изображать из себя что-то вроде прокси. И это тоже было просто сделать, и это заработало!
Но просто скачать файл или страничку неинтересно. Файл ещё нужно найти, а на страничке есть картинки, флешки, и прочие подключаемые штуки. Вот тут было уже интереснее: скрипт начал определять тип получаемого файла, и если тот оказывался html-страницей, то все ссылки в ней подменялись так, чтобы и эти файлы тоже получались через скрипт. Найти в странице абсолютные и относительные урлы и правильно их обработать — это и сейчас хороший челлендж. Тем не менее, кое-как прокси-скрипт работал, и я мог ходить по интернету на халяву. Жизнь начала становиться прекрасной : )
В этот момент я, образно выражаясь, надел белую шляпу, и во время очередного похода с деньгами к провайдеру сказал админу что-то вроде: «У вас тут в правилах есть небольшая дырка, потому что скрипты имеют доступ в инет, и могут что-то выкачать оттуда на хостинг, а забрать файлы с хостинга можно на халяву». Админ ответил «угу». После этого я счёл свою миссию выполненной, и три дня ждал, что дырка закроется, благо сделать это очень просто.
Не знаю почему, но админы не пошевелились. Пользоваться прокси можно было и через три дня, и через неделю, и через месяц. Я не нарушал правил, спокойно ходил через него в интернет, и радостно качал все, чего душе хотелось. Естественно, этот же скрипт появился у моих друзей, и они тоже не отказывали себе в удовольствиях. Жить было здорово! : )
Через месяц с небольшим я не обнаружил скрипта на хостинге (ха! конечно, у меня был бэкап). Зато в своём почтовом ящике нашлось письмо от техподдержки, где говорилось, что нехорошо так поступать, и такие скрипты у них не приветствуются. Еще через пару дней я увидел, что не могу подключиться к инету, хотя денег на аккаунте предостаточно, и с честными глазами пошёл разбираться.
В офисе сидел все тот же админ (сейчас он директор Смартлоджика, а может, и тогда им был, но я этого не знал). Я пожаловался ему на свои проблемы. Он ответил, что да, действительно, у меня проблемы. Ибо я обманным путём накачал из интернета парочку гигабайт, за которые неплохо бы расплатиться теперь хотя бы по себестоимости. Иными словами, мне теперь нужно принести провайдеру минимум 40 баксов.
Я зашёл своим козырем про то, что всё честно, и они были предупреждены. Админ отбился какими-то словами про вредоносные программы и статью УК. В этот момент я подумал, что он неправ, но решил не наживать себе лишний геморрой. Денег я им не отдам, ибо такие расходы на интернет не входят в мои планы, а буду пользоваться чьим-нибудь ещё аккаунтом.
Так и вышло. Вначале я просил инета у друзей, а потом с помощью одного из них завёл себе «подставной» аккаунт, с которым мне жить стало проще, а нескольким друзьям — сложнее, потому что где-то раз в неделю я просил их положить денег себе на инет. Но они вроде бы не возражали, и все стало достаточно хорошо.
Потом благодаря моей работе на сеть админы сказали Смартлоджику что-то вроде «не дурите», и старый аккаунт разблокировался. А потом я ещё раз перешёл дорогу директору (или он мне, трудно понять), но я не буду об этом рассказывать.