Написал: Alex V, 8 февраля 2008 | Мнений 2 | Просмотров: 890
Рейтинг:
0
После нахождения в сети злополучного для всех саповцев , и даже подняв вокруг него небольшую шумиху на ньюсе2.ру (отдельное спасибо s13 за размещение новости). Я несколько был поражен и озадачен алгоритмом, с помощью которого система, в моем случае, безошибочно определяла автоматически расставленные ссылки. В скором времени я разобрался, что и по чем, тем самым обезопасил свои ресурсы от грозного сервиса с незвучным названием.
Вкратце поясню, принцип работы сервиса для тех, кто в бронетранспортёре.
Как, в общем-то, и ожидалось, алгоритм оказался до безобразия простым. Получая на вход исследуемую ссылку, сервис подставлял к урлу мусор в виде дополнительных параметров, тем самым нагло изменяя ссылку, которую сравнивает саповский скрипт с находящейся в файле links.db.
Проще говоря, получая на вход такой линк http://site.ru/, сервис загружает сраницу, затем генерит примерно следующий урл http://site.ru/?vsyakiy_musor=!@#$^%&*() и по нему загружает вторую страницу. Сравнивает их, берет разность по ссылкам и считает ее продажной.
Зная этот ключевой момент, просто делаем так чтобы саповский скрипт правильно сравнивал полученный урл с имеющемся с базе линков.
Расскажу что я сделал для того чтобы обмануть сервис. Для этого залез в sape.php
В данном блоке производится выкашивание из $this->_request_uri идентификатора сессии. И мне показалось данная операция является очень схожей с той которая нам нужна. Только в моем случае надо убивать не только сессию, но и все что приходит после символа '?'.
Вдоволь повозившись мануалом по регулярным выражениям в php, через некоторое время добавил следующую строчку.
Еззз! После этих манипуляций чудо-сервис прекратил определять все автоговнолинки.
Ну что господа?! Кто ещё не в Sape?! Бегом регаться, пока ироды какой-нибудь другой бяки не придумали :)
А чуть не забыл. Хочу предупредить, данное решение работает только на урлах без параметров и/или поверх ЧПУ-ссылок. То есть если сравниваемые урлы будут с параметрами, то задача по противостоянию усложняется в разы. Как я вижу, нужно будет определять все допустимые параметры и с помощью тех же регулярных выражений, но более извращенных, производить их фильтрацию. Но это охрененное усложнение. Лучше и проще, на мой взгляд, юзать mod_rewrite, тем более в популярных движках поддержка ЧПУ-ссылок уже является стандартом де-факто.
Ещё на всякий случай, сниму всю ответственность за неправильное истолкование и использование представленной здесь информации. Короче люди, если что-то у кого-то не заработает – я не виноват. Перед экспериментами советую сделать бэкап скрипта, а лучше всего сайта.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Комментарии пользователей ↓
Для того чтобы оставить комментарий нужно залогиниться
Автор: Alex V, 8 февраля 2008 18:34 Публикаций: 953, комментариев: 68, Администраторы #
0
Отличный способ, как говориться проверил на себе ;)
Не для кого не является секретом, современные технологии, используемые в традиционных ПК, имеют свой физический предел. Причем ограничения накладыва
не только на производительность систем, но и на круг решаемых ими задачи. Одно из таких ограничен специальных аппаратных средств и алгоритмов производить параллельную обработку нескольких потоков данных. Для решения подобных задач приходится строить сложные кластерные многопроцессорные комплексы, потребляющие большие мощности и все равно скорость работы подобных систем порой бывает недостаточной.
Публикаций: 953, комментариев: 68, Администраторы #
Отличный способ, как говориться проверил на себе ;)
Работа и труд, все перетрут!