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

Скрываем document.referer


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

Нет у меня под рукой 2.17...

Может быть кто-нибудь из пользователей "двушки" подскажет где парсятся гиперссылки в двушках?

Посмотрел на 2.1.7.

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

Нашел код:

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

 

Заменил на:

if (!stristr($url['html'], "test217.ru")
and !stristr($url['html'], "anonym.to")
and !stristr($url['html'], "yandex")
and !stristr($url['html'], "03.ru"))
{
return $url['st'] . "<a href='http://anonym.to/\?".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];
}
else
{
return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];
}

Пришлось добавлять в исключения анонимайзер, иначе почему-то парсится дважды. Вместо яндекса и "03.ru" можно добавить свои сайты, ссылки на которые не будут ломаться.

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

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

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

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

<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'];

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

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

Чтобы не зависеть от чужого анонимайзера, можно сделать свой. По документ-реферер будет виден домен, но не будет видно, с какой страницы домена осуществлен переход:

"<a href='goto.html\?".$url['html']."' target='_blank'>".$show."</a>"

 

 

А вот как устроен файл goto.html:

<html><head></head><body>
<script type="text/javascript">
var sloc=window.location+''
if(!sloc.split('goto.html?')[1])location='404.php'
else location=sloc.split('goto.html?')[1]
</script>
</body></html>

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

  • 1 месяц спустя...
Гм вопрос а сам файл goto пихать в корень сайта или корень форума. Простите что туплю страшно.

В корень форума.

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

  • 2 недели спустя...

Спасибо большое за анонимайзер.

 

Тут проблема следующего характера если строку

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

меняем на

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

то при каждом редактировании сообщения количество goto.html в ссылке будет удваиваться :D

и соответственно отпарсеная ссылка перестает быть рабочей после первого же редактирования. :)

 

О ну вот собственно и сам без глаз был, для таких же чайников как я - решение, меняем на абсолютную ссылку и ставим исключение упомянутое выше, в примере mydomen.ru = ваш домен ;)

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

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

решение, меняем на абсолютную ссылку и ставим исключение

Или проще: ставим исключением goto.html :D

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

Чтобы при цитировании и редактировании не накладывались редирект на редирект, да и вообще, чтобы пользователи видели линки без редиректов, дополнил в парсере в функцию unconvert($txt="", $code=1, $html=0) { строку:
$txt = preg_replace( "#goto.html?#" , ""	 , $txt );

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

  • 1 месяц спустя...
Чтобы при цитировании и редактировании не накладывались редирект на редирект, да и вообще, чтобы пользователи видели линки без редиректов, дополнил в парсере в функцию unconvert($txt="", $code=1, $html=0) { строку:

тогда уже str_replace

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

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

Чтобы не зависеть от чужого анонимайзера, можно сделать свой. По документ-реферер будет виден домен, но не будет видно, с какой страницы домена осуществлен переход:

"<a href='goto.html\?".$url['html']."' target='_blank'>".$show."</a>"

Сделал, чтобы и домен было не видно, и сам анонимайзер "встроен" в линк ;)

return $url['st'] . "<a href=\"& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;:tlt=window.open();tlt.document.write('<& #115;& #99;& #114;& #105;& #112;& #116; type=& #92;& #39;text\/& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;& #92;& #39;>location=& #92;& #39;".$url['html']."& #92;& #39;<\/& #115;& #99;& #114;& #105;& #112;& #116;>');\" title='".$show."'>".$show."</a>" . $url['end'];

Пробелы между амперсандами и решетками убрать.

По document_referer теперь будет отдаваться локалхост :D

 

Сорри, исправил код.

 

 

UPD

 

Добавил анконвертер:

 

В функцию

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

добавить в начало:

$txt = preg_replace( "#<a href=[\"']&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;:tlt=window.open\(\);tlt.document.write\('<&\#115;&\#99;&\#114;&\#105;&\#112;&\#116; type=&\#92;&\#39;text/&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;&\#92;&\#39;>location=&\#92;&\#39;(.+?)&\#92;&\#39;</&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;>'\);\" title='(.+?)'>(.+?)</a>#"  , "\[URL=\\1\]\\2\[/URL\]"   , $txt );

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

  • 2 недели спустя...

У меня такой вопрос: почему, когда редактируешь сообщение, то в нём полностью меняется код ссылки или картинки ( если её присоединяешь через ImageShack или Photobucket ). Меняется полностью ссылка ( пишется какой-то непонятный код ) и приходится переписывать сообщение заново. Это очень неудобно. Можно ли это как-то исправить ?

 

 

Заранее спасибо.

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

У меня такой вопрос: почему, когда редактируешь сообщение, то в нём полностью меняется код ссылки

Потому, что нужно и анконвертер сделать.

В последнем варианте я сделал анконвертер (Сообщение #43).

Посмотреть в действии можно здесь - писать можно и без регистрации, для редактирования требуется регистрация; редактировать можно в течение 30 минут после написания, потом доступ закроется.

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

Поставил твой мод и получил

Ссылка вида

java script:tlt=window.open();tlt.document.write('<script type=\'text\/javascript\'>location=\'http://www.privet.by\'<\/script>');

 

Но при редактировании имею

<a href="java script:tlt=window.open();tlt.document.write('<script type=\'text/javascript\'>location=\'http://www.privet.by\'</script>');" title='http://www.privet.by'>http://www.privet.by</a>

а хотелось бы иметь

 http://www.privet.by

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

хотелось бы иметь

 http://www.privet.by

 

 

В функцию

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

добавить в начало:

$txt = preg_replace( "#<a href=[\"']&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;:tlt=window.open\(\);tlt.document.write\('<&\#115;&\#99;&\#114;&\#105;&\#112;&\#116; type=&\#92;&\#39;text/&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;&\#92;&\#39;>location=&\#92;&\#39;(.+?)&\#92;&\#39;</&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;>'\);\" title='(.+?)'>(.+?)</a>#"  , "\[URL=\\1\]\\2\[/URL\]"   , $txt );

 

Это тоэже сделал?

У меня и при цитировании, и при редактировании ссылки преобразуются нормально.

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

Добавил анконвертер:В функцию function unconvert($txt="", $code=1, $html=0) {добавить в начало:

Это только в post_parser.php есть. Я также сделал, но ничего не работает :D

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

Зарузка...

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

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

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