Вы установили код SAPE на свой сайт, замаскировали его всякими "Партнёры, Спонсоры, Полезное" и прочее и думаете ВСЁ?

Как бы ни так! Все Ваши труды могут пропасть в одночасье! Достаточно только одного захода на Ваш сайт бота с проверкой на предмет наличия продажных ссылок и прощай заработок, прощай трафик, прощай сайт...
Как быть, есть ли лекарство?
Конечно!

Давайте для начала проверим Ваш сайт на предмет видимости продажных ссылок!
Для этого сначала найдем страницу с заведомо проданной ссылкой и скопируем URL в буфер. Теперь идем СЮДА и вставляем адрес страницы в форму и о боже мы видим наши ссылки...

Речь в данной статье идёт не только о противодействии данному детектору продажных ссылок, но и любому другому. Работающему в виде отдельного ресурса, или встроенного в алгоритм поисковика :) Неважно.

Идем в папку ХЕШ_КОДА и открываем любым редактором файл sape.php
Поиском находим строчку содержащую PHPSESSID или просто 320 строку скрипта.

Тут мы увидим следующее:

       // Убиваем PHPSESSID
        if (strlen(session_id())) {
            $session = session_name() . '=' . session_id();
            $this->_request_uri = str_replace(array('?'.$session,'&'.$session), '', $this->_request_uri);
        }

Теперь давайте допишем одну строчку в код программы - выделено красным:

        // Убиваем PHPSESSID
        if (strlen(session_id())) {
            $session = session_name() . '=' . session_id();
            $this->_request_uri = str_replace(array('?'.$session,'&'.$session), '', $this->_request_uri);
            $this->_request_uri = preg_replace('/?S*/',"",$this->_request_uri);
        }

После внесения этих изменений в коде скрипта SAPE, все попытки определить всякими Детекторами Продажных Ссылок на предмет наличие оных на Вашем ресурсе становятся безрезультатными.

Для тех кому интересно как это работает:
Итак принцип работы сервиса для тех, кто в бронетранспортёре.

Как, в общем-то, и ожидалось, алгоритм оказался до безобразия простым. Получая на вход исследуемую ссылку, сервис подставлял к урлу мусор в виде дополнительных параметров, тем самым нагло изменяя ссылку, которую сравнивает саповский скрипт с находящейся в файле links.db.

Проще говоря, получая на вход такой линк http://site.ru/, сервис загружает страницу, затем генерит примерно следующий урл http://site.ru/?vsyakiy_musor=!@#$^%&*() и по нему загружает вторую страницу. Сравнивает их, берет разность по ссылкам и считает ее продажной.

Зная этот ключевой момент, просто делаем так чтобы саповский скрипт правильно сравнивал полученный урл с имеющемся с базе линков.

В данном блоке производится выкашивание из $this->_request_uri идентификатора сессии. Данная операция является очень схожей с той которая нам нужна. Только в нашем случае надо убивать не только сессию, но и все что приходит после символа ‘?’.

Спасибо автору идеи Bum за предоставленный материал Защита от сервиса с непристойным названием.

З.Ы. Я так же присоединяюсь к посланию ко всем вебмастерам от Bum:

Ещё на всякий случай, сниму всю ответственность за неправильное истолкование и использование представленной здесь информации. Короче люди, если что-то у кого-то не заработает – я не виноват. Перед экспериментами советую сделать бэкап скрипта, а лучше всего сайта.

Желаю заработать миллион баксов!
Будет интересно посмотреть...

Вот где ещё можно заработать: