Перейти к контенту

Скрываем document.referer


Рекомендуемые сообщения

Интересная бага

ссылка вида

 

http://forum.net/click.php?http://img444.imageshack.us/

 

работает, а вида

 

http://forum.net/click.php?http://img444.i...ersary12ta4.jpg

 

нет. Это из-за jpg что ли?

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 148
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

http://forum.net/click.php

- здесь уже содержится редирект. Кстати, отключенный - эррор 404...

 

Вставил саму ссылку на имиджхак, встала и нормально работает: сам смотри...

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
А как в 2.2.2?! Вышеперечисленные методы не подошли.

А глаза открыть?

в 21 и выше пост парсер пхп висит как аппендикс тупо

обработка скорее всего происходит в классе ббкод коре пхп

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
Посмотрел на 2.1.7.

Править надо sources\classes\bbcode\class_bbcode_core.php

Нашел код:

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

А насчёт 2.2.2 не в курсе? В sources\classes\bbcode\class_bbcode_core.php такую строку не нашёл. (может снова чего-то изменили..)

Ссылка на комментарий
Поделиться на других сайтах

Смысл: если уж и получили рекламу в свой форум, спамер не увидит откуда пришли на его сайт.

Давно уже видел эту автозамену на одном КПК-шном форуме. :D Вот думаю, только по этой причине (в цитате) это дело добавляют на форум? Или еще есть причны?

 

На локальном форуме такая фича целесообразна? Какой в этом случае реферер будет интересно??

Ссылка на комментарий
Поделиться на других сайтах

Вот думаю, только по этой причине (в цитате) это дело добавляют на форум? Или еще есть причны?

Причин две основных:

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

2. Гад я и мерзавец, выложил серийник или кейген на сайте, и дал линк на скачивание. Разработчик увидел, что с моего форума сонмище скачиваний триалки или заходов на страницу даунлоада, заглянул ко мне на сайт, и увидел серийник или кейген. Угадай, есть ли хоть один шанс, что при обновлении программы разработчик поленится обновить механизм защиты. Это не говоря уже о ненулевой вероятности познакомиться с "К"...

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Разработчиками с http://forums.1p3final.com разработан мод редиректа

http://forums.1p3final.com/index.php?showtopic=16

Я наверное совсем тупой, но так и не смог там зарегистрироваться. А можно куда-то поместить код для изучения?

Ссылка на комментарий
Поделиться на других сайтах

FatCat

Извини, не сразу заметил сообщение, вот весь код редиректора на изучение:

 

http://rapidshare.com/files/50313972/Dereferrer.zip.html

Спасибо, друзья уже скачали.

Там все то же самое про парсер, и сделан редирект на php. Беда в том, что редирест скроет страницу, с которой перешли, но не скроет домен.

Есть идейка сделать так, чтобы по документ-реферер отдавался яндекс или гугл. Интересно?

Ссылка на комментарий
Поделиться на других сайтах

Преобразуем гиперссылки:

Посетитель постит: http://сайт.ru/

Постится: http://anonym.to/?http://сайт.ru/

 

Смысл: если уж и получили рекламу в свой форум, спамер не увидит откуда пришли на его сайт.

 

В \sources\lib\post_parser.php:

Найти код:

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

 

Заменить на:

return $url['st'] . "<a href='http://anonym.to/\?".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];

а какой код нужно использовать чтобы работал в 2.1.х ?

подскажите пожалуйста

Ссылка на комментарий
Поделиться на других сайтах

а какой код нужно использовать чтобы работал в 2.1.х ?

подскажите пожалуйста

Сообщение #26 в этой же теме...

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

Спасибо. Всё работает, только есть одна проблема... У меня новые ссылки парсятся нормально,а вот старые стали вида

 

/click.php?http://click.php?http://igromania.ru/

 

вместо

 

/click.php?http://igromania.ru/

 

Каким запросом в базе или как это можно легко заменить?

 

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

У меня новые ссылки парсятся нормально,а вот старые стали вида

 

/click.php?http://click.php?http://igromania.ru/

 

вместо

 

/click.php?http://igromania.ru/

 

Каким запросом в базе или как это можно легко заменить?

"click.php" в список исключений добавил?

and !stristr($url['html'], "click.php")

Ссылка на комментарий
Поделиться на других сайтах

Вот не долго думая написал для домена, на котором стоит форум. Как правильно работать с дополнительными настройками в админке не понял, поэтому пока только для домена, где стоит форум. То есть у меня идет example.com/forum/, для forum.example.com надо будет менять.

 

Вот мой код (2.3.3):

Заменяем в /sources/classes/bbcode/class_bbcode_core.php примерно на 2245 строке.

return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];

На

  @$tmp=parse_url($url['html']);
	if(!$tmp){
	 return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
	}
 $tmp_host=stristr($tmp['host'],'www.')?substr($tmp['host'],4):$tmp['host'];
 $tmp_cur_host=stristr($_SERVER['HTTP_HOST'],'www.')?substr($_SERVER['HTTP_HOST'],4):$_SERVER['HTTP_HOST'];
	$redirect='http://'.$tmp_cur_host.'/go.php?';
 if($tmp_host==$tmp_cur_host||stristr($url['html'],$redirect)){
  return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
 }else{
  return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$redirect.$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
 }

 

Вместо /go.php можно использовать ваш путь.

 

На всякий случай, в спецификации нет тега <noindex>, поэтому получается не валидный код.

 

Объясните, пожалуйста, как использовать свои собственные настройки в админке, что бы получился массив из строк? Код можно сделать значительно короче :D

Изменено пользователем ezdak
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
<noindex> и rel="nofollow"

 

sources\classes\bbcode\class_bbcode_core.php

 

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

 

Заменить на:

 

return $url['st'] . "<noindex><a href=\"".$url['html']."\" rel=\"nofollow\" target=\"_blank\">".$show."</a></noindex>" . $url['end'];

 

 

однако ж небольшая проблема...

если кто-либо отцитирует такую ссылку в ноуиндекс....

получим такую картинку http://yarportal.ru/topic34880.html?view=f...st&p=812903

 

аналогично получается при редактировании сообщений....

Ссылка на комментарий
Поделиться на других сайтах

однако ж небольшая проблема...

если кто-либо отцитирует такую ссылку в ноуиндекс....

получим такую картинку http://yarportal.ru/topic34880.html?view=f...st&p=812903

 

аналогично получается при редактировании сообщений....

 

Надо "анконверт" тоже поправить.

Посмотри как сделано в Сообщение #43.

 

Или, если лень, добавь в анконверт строку:

$txt = preg_replace( "#(<noindex>)(.+?)(</noindex>)#is", "\\2", $txt );

Тоже будет убирать "ноиндексы".

Ссылка на комментарий
Поделиться на других сайтах

спасибо...

я в программировании не силен...

 

сделал так...

 

/**************************************************/
// unconvert:
// Parses the HTML back into plain text
/**************************************************/

function unconvert($txt="", $code=1, $html=0) {

	$txt = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $txt );

	if ($code == 1)
	{
		$txt = preg_replace( "#(<noindex>)(.+?)(</noindex>)#is", "\\2", $txt );
		$txt = preg_replace( "#(<font style='width=80%; filter:invert'>)(.+?)(</font>)#is", "\[invert\]\\2\[/invert\]", $txt );
		$txt = preg_replace( "#(<font style='width=80%; filter:xray'>)(.+?)(</font>)#is", "\[xray\]\\2\[/xray\]", $txt );

 

вроде пашет нормально....

надеюсь ничего не повредил

Ссылка на комментарий
Поделиться на других сайтах

pre_edit_parse, в class_bbcode.php и class_bbcode_legacy.php.
Ссылка на комментарий
Поделиться на других сайтах

Значит так. Проводимые изменения:

 

В файле class_bbcode_core.php

 

if (!stristr($url['html'], "site.ru"))
{
return $url['st'] . "<a href='http://www.site.ru/redir.php?url=".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];
}
else
{
return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];
}

 

и в файлах class_bbcode.php и class_bbcode_legacy.php в функции pre_edit_parse добавлена строчка

 

$txt = preg_replace( "#http://www.site.ru/redir.php?url=#", "", $txt );

 

И все по прежнему, пре редактировании поста виден редирект. В чём трабла? :D

 

версия форума 2.1.7

Изменено пользователем machthaber
Ссылка на комментарий
Поделиться на других сайтах

$txt = str_replace( "http://www.site.ru/redir.php?url=", "", $txt );

 

А всё потому, что в регулярных выражениях есть спецсимволы, например в вашем случае нужно было точки экранировать.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.