Index SiteMap Portfolio

Назад

мая
3

Скрываем ссылочную продажность

В прошлый раз мы заменяли внешние ссылки в тексте на аля-внутренние.

Сегодня идем дальше и будем скрываться от сервисов, которые очень часто угадывают, какие ссылки были проданы на сайте. Я не бился об стену, рассуждая как можно определить факт продажности. В моем фиде оказалась заметка со ссылкой на "белорусского бомжа", где он и поделился мыслями. Итак, начинаем прятать продажные ссылки.

В общем случае, сама идея от ББ здесь. Моя работа заключалась именно в том, чтобы добавить проверку на наличие допустимых параметров в URL адресе страницы.

В файле sape.php нужно найти строку начала условного блока для удаления параметра сессии:

if (strlen(session_id())) {

У меня это строка номер 318. После этого блока пишем следующее.

// Защита от проверок на ссылки
        $my_keys	= array('page', 'tag', 'category', 'module');  // Сюда вписать все параметры. 
        $my_uri		= $_SERVER['REQUEST_URI'];
        $my_tmp		= explode('?', $my_uri);
        $my_nu		= $my_tmp[0];
        if (@$my_tmp[1])
        {
        	$my_tmp2 = explode('&', $my_tmp[1]);
 
        	$my_params = array();
 
        	foreach ($my_tmp2 as $my_part)
        	{
        		@list($my_key, $my_value) = @explode('=', $my_part);
        		if (in_array($my_key, $my_keys))
        			$my_params[] = $my_key . '=' . $my_value;
        	}
 
        	if ($my_params)
        		$my_nu .= '?' . implode('&', $my_params);
        }
        $this->_request_uri = $my_nu;

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

Обратите внимание, что условный блок сапы можно удалить, так как ключа с именем сессии, скорее всего, не будет в Вашем списке ;)

Проверялось здесь и здесь. Далее можно не искать. Но если кто знает другие способы проверки, особенно самизнаетечьи, сообщайте! :)

Добавить в закладки на google.com Добавить в закладки на bobrdobr.ru Добавить в закладки на del.icio.us Добавить в закладки на technorati.com Добавить в закладки на linkstore.ru Добавить в закладки на news2.ru Добавить в закладки на rumarkz.ru Добавить в закладки на memori.ru Добавить в закладки на moemesto.ru

Ваше мнение

* Имя:
* E-mail:
*Этот адрес не публикуется. Для общих контаков оставляйте адрес в комментарии.
Сайт/Блог:
Примечание. Комментарии находятся в теге <noindex>, что значит: смысла срать здесь нет.

Комментарии

06.05.2008 ariston
$my_keys = array('page', 'tag', 'category', 'module'); // Сюда вписать все параметры.

Какие параметры? что за параметры?
 
06.05.2008 ariston
$my_uri = $_SERVER['REQUEST_URI'];

Там где REQUEST_URI - тоже что-то вписывать надо?
 
06.05.2008 EwGenij
Если в адресе страницы, есть место такое, например:
/index.html?tag=abc&module=news
Параметры, это все, что после знака вопроса "?",
разделяемое амперсандами "&".
Для этого примера, параметры: tag и module надо вписать.
Для Вашего сайта mwr.su я не нашел, где есть какие-либо параметры,
укажите так:
$my_keys = array();

Более подробно не знаю, как объяснять :(

Лучше всего возможные параметры проверить именно по ссылкам в самой сапе, которые она приняла. Там и искать все возможные параметры
для всех проиндексированных страниц.
 
08.05.2008 ariston
Вы всё отлично объяснили! :) Спасибо!

Возник другой вопрос при тестировании этой штуки... :)

На блогах - отлично работает.
А вот на обычных сайтах(на php) - нет)

В чём разница? :) И можно ли заточить не только под блоги?
 
08.05.2008 EwGenij
Разницы нет, должно работать везде, где эта параметры передаются через знак вопроса и амперсанда. Очень странно, что не работает. Как видите, в коде нет нигде проверок, является ли сайт блогом или нет.
Скорее всего, сам код установлен неверно, если такое случилось.

PS. На новые вопросы смогу ответить только в понедельник. Нужно будет подождать, если сами не разберетесь.
 
08.05.2008 Абсурдный Людишка
оО, сенкс, очень полезная штука :)
интересный, кстати, блог, подписался :Ы))
 
12.05.2008 SavePic
Теперь я понимаю почему один из моих проектов так понизился в ранжировании. Вещь обязательная для тех, кому дорога авторитетность своих проектов в глазах поисковиков. Уже в этом убедился на личном опыте. Тоже не получилось реализовать на PHP ;(
 
27.05.2008 cross
Прикольно получилось :) Можно будет попробовать это использовать на своих сайтах.
 
07.07.2008 Климов
Спасибо за советы - очень интересное решение проблемы с параметрами.
 
Добавить в закладки на google.com Добавить в закладки на bobrdobr.ru Добавить в закладки на del.icio.us Добавить в закладки на technorati.com Добавить в закладки на linkstore.ru Добавить в закладки на rumarkz.ru Добавить в закладки на memori.ru Добавить в закладки на moemesto.ru

 Бесплатно

Читать мою ленту
Получать RSS-ленту на почту


Хостинг предоставлен компанией
TutHost.com