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

Скрываем 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

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

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

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

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

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

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

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

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

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

Зарузка...

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

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

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