Помощь Скрываем document.referer, и редирект (версии IPB)

Статус
В этой теме нельзя размещать новые ответы.

Mons

Хранитель порядка
Регистрация
2 Апр 2006
Сообщения
1.585
Реакции
967
Допустим такую ситуацию: На наш любимыйфорум пробиваются боты и постят рекламные ссылки. Либо просто для накрутки ТЦ и PR или просто для размещения рекламы. На мы бы сделать так чтобы работа спаммеров сводилась к нулю. И мы это сделаем и сделаем так:

Живой пример, представим на миг что посетитель постит:
а вместо этого у него постится нужная нам ссылка с редиректом:

Смысл всего этого в том: если уж и получили рекламуна свой форум, спамер в любом случае не увидит откуда пришли на его сайт. И для поисковиков переходы все будут учитываться только 1го сайта и одной ссылки внешней.

Делается это таким образом:
Идем в папку
и ищем там фаил: post_parser.php:

В post_parser.php находим следующий код:

PHP:
return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];


И заменяем этот код на:

PHP:
return $url['st'] . "<a href='http://www.tweet.ru/send.php?link=".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];


Посмотреть в действии можно на моем форуме:

Написано по материалам:
 
Link Redirection

В общем нашёл редирект доработанный, как мне показалось на первый взгляд, но не тут то было :) В общем при быстром редактировани он не подставляет к ссылке ещё 1 адрес, а оставляет всего 1 редирект перед ссылкой... Но вот редиректит то полностью все ссылки :( Хотелось бы, чтобы внутренние ссылки оставались прежними, а только к внешним добавлялся редирект :)
В аттаче этот мод... Может кто додумает как исправить ?)
 

Вложения

  • Link_Redirection.zip
    10,9 KB · Просмотры: 11
Можно добавить условие:
Код:
!strpos($url['html'],'НАШ_ФОРУМ.ru')

Тоесть, заменить в /sources/classes/bbcode/class_bbcode_core.php:
Код:
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];

не как в инструкции, а на:
Код:
		if (!strpos($url['html'],'НАШ_ФОРУМ.ru')){
			if (!$this->ipsclass->vars['redirect_on']){
				return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
			}
			
			// use provided redirect url if one has been given, default to our own redirect.php
			if (strlen(trim($this->ipsclass->vars['redirect_url'])) < 1) {
				$redir = $this->ipsclass->vars['board_url'] . '/redirect.php?url=';
			} else {
				$redir = trim($this->ipsclass->vars['redirect_url']);
			}
				
			$len = strlen($redir);
			while (substr($url['html'], 0, $len) == $redir)
				$url['html'] = substr($url['html'], $len);
			

			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$redir.$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
		else{
			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
 
Cepera51, Он вообще эти ссылки не парсит так походу..)) Тупо ничего не появляется в сообщении... Если ссылка на форум...
И там кстати файлик обновления есть :)) там код на такой заменять надо:
Код:
		//-----------------------------------------
		// Change the url to redirect.php
		//-----------------------------------------

		if (!$this->ipsclass->vars['redirect_on']) {
			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
		
		$redir = $this->ipsclass->vars['board_url'] . '/redirect.php?url=';
			
		$len = strlen($redir);
		while (substr($url['html'], 0, $len) == $redir) {
			$url['html'] = substr($url['html'], $len);
		}
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$redir.$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху