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

Отключение парсера левых ссылок


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

Отключаем прямые ссылки на стороние ресурсы.

Авторы: MiXoiD, Song, Val14.

 

в файле в файле /sources/lib/post_parser.php:

Найти

function regex_build_url($url=array()) {
global $DB; 

$skip_it = 0;

После вставить:

if (!stristr($url['html'], "hostname"))  
{
    if (!stristr($url['html'], $url['show'])) 
    {
       return  $url['st']. " <b> " .$url['show']. " </b> "."=>". " [COLOR=blue] ". $url['html']. " [/COLOR] ". $url['end']; 
    }
    else 
    {
       return $url['st']. " [COLOR=blue] ".$url['html']." [/COLOR] ".$url['end'];
    }
}

где "hostname" д.б. без http:// напр. mixoid.net

увидеть его в работе можно: http://www.mixoid.net/forum/index.php?show...findpost&p=8177

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

Cупер! ;) THX!

А ты можешь сделать мод который бы переделавал прямые ссылки вида http://www.mydomain.net в "кривые" типа hxxp://www.mydomain.net ? :D

THX! :)

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

DaUniT@S, а смысл?

если стоит этот мод то прямых ссылок не будет кроме внутри форумных.[1118733715:1118739990]небольшое уточнение к этому моду. Если вы хотите оставить прямые ссылки на другие сайты, кроме своего, например Яндекс, Гуугл и т.д. то 1-я строка

if (!stristr($url['html'], "hostname"))

должна выглядеть как

if (!stristr($url['html'], "hostname") and !stristr($url['html'], "ya.ru") and !stristr($url['html'], "google"))

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

  • 6 месяцев спустя...

2Автор, попробуйте посмотреть, что лежит в массиве $_SERVER.

 

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

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

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

И всё-таки,мне непонятно,зачем этот мод?

На этом форуме,я помню,уже как-то обсуждались теги <noindex> </noindex>,вставленные между ссылками.

Неужели это не поможет?

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

2Maniac

 

уже как-то обсуждались теги <noindex> </noindex>,вставленные между ссылками.

 

это

1) дополнительный трафик на странице

2) дополнительное место в БД

 

а так по-моему всё очень красиво.

только я не понимаю зачем MiXoiD'у понадобилось убирать html из внутренних ссылок. Ну надо так надо. Я помог.

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

  • 4 недели спустя...
только я не понимаю зачем MiXoiD'у понадобилось убирать html из внутренних ссылок. Ну надо так надо. Я помог.

 

 

а можно его видоизменить, чтобы он заменял ссылку вида:

http://сайт.ru/

на

http://мойсайт.ru/go.php?loc=http://сайт.ru/

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

А это не будет иметь такой же эффект у поисковиков, как и по умолчанию?

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

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

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

 

так вот мой вариант так и есть :D

в самом простом случае делаеш в корне сайта файл go.php который направляет кликнувшего на урл взятый из переменной loc.

 

продвинутые могут еще считать клики и выводить статистику.

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

Лично у меня сделано по другому.

Все зарег. пользователи форума и гости видят все ссылки нормальные, а для поисковиков выдается ссылка защищенная javaскриптом. и юзабилити не страдает и поисковики рады :D

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

Лично у меня сделано по другому.

Все зарег. пользователи форума и гости видят все ссылки нормальные, а для поисковиков выдается ссылка защищенная javaскриптом. и юзабилити не страдает и поисковики рады :D

 

а сложно ли реализовать данную защиту?

 

не нужно ли будет после обновлений форума каждій раз ее ставить?

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

Вот как можно:

1.Установить мод из этой темы

2.Установить мод HIDE отсюда

3.При помощи мода из этой темы добавлять к нормальным url теги hide и /hide(причём пользователь не будет иметь возможность как то на это повлиять).

К сожалению, на третьем шаге у меня всё оборвалось - форум не парсит эти теги, когда они вставлены непосредственно в моде от Миксоида. Всякие b и size-парсит. А вот CODE и HIDE - не хочет ;)

Как и куда правильно вставить этот тег, чтобы всё заработало? Я думал над этим 2 часа :):D

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

а для поисковиков выдается ссылка защищенная javaскриптом. и юзабилити не страдает и поисковики рады

А для чего это?

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

tslava1 Нет, не так сложно, да и после обновления менять совсем чуть-чуть.

Song Чтобы не понижать свой Page Rank в случае с гуглом, да и яндекс неохотно относится к сайтам с большим количеством ссылок на сторонние ресурсы.

з.ы. Да и чужим сайтам нечего тИЦ подымать за счет форума :D

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

2Song

 

не могли бы вы изменить свой вышеописанный мод чтобы он парсил так как я просил:

http://сайт.ru/

на

http://мойсайт.ru/go.php?loc=http://сайт.ru/

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

И всё-таки,мне непонятно,зачем этот мод?

Появились всякие "бутмастеры", которые пихают в форумы рекламы их сайтиков.

 

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

 

Дополнил мод, чтобы он вдобавок ломал "чужие" гиперссылки, делая их читаемыми для глаза, но непонятными поисковкам (заменяя часть латинских букв похожими русскими - и вместо .ru получается .чи ;)

if (!stristr($url['html'], "pharm-forum.ru") and !stristr($url['html'], "yandex") 
and !stristr($url['html'], "narod.ru") and !stristr($url['html'], "ya.ru") 
and !stristr($url['html'], "chinamed.ru") and !stristr($url['html'], "daomed.ru") 
and !stristr($url['html'], "hemorroi.ru") and !stristr($url['html'], "daopharm.ru") 
and !stristr($url['html'], "stenocardia") and !stristr($url['html'], "mastopatia.ru") 
and !stristr($url['html'], "mammoleptin.ru") and !stristr($url['html'], "chinamed.ru") 
and !stristr($url['html'], "insult.ru") and !stristr($url['html'], "03.ru"))
{
$url = preg_replace( "/a/" , "а" , $url );
$url = preg_replace( "/b/" , "в" , $url );
$url = preg_replace( "/c/" , "с" , $url );
$url = preg_replace( "/e/" , "е" , $url );
$url = preg_replace( "/k/" , "к" , $url );
$url = preg_replace( "/m/" , "м" , $url );
$url = preg_replace( "/n/" , "н" , $url );
$url = preg_replace( "/o/" , "о" , $url );
$url = preg_replace( "/p/" , "р" , $url );
$url = preg_replace( "/r/" , "ч" , $url );
$url = preg_replace( "/u/" , "и" , $url );
$url = preg_replace( "/x/" , "х" , $url );
$url = preg_replace( "/y/" , "у" , $url );
if (!stristr($url['html'], $url['show']))
{
return  $url['st']. " <b> " .$url['show']. " </b> =>". " [COLOR=blue] ". $url['html']. " [/COLOR] ". $url['end']; 
}
else 
{
return $url['st']. " [COLOR=blue] ".$url['html']." [/COLOR] ".$url['end'];
}
}

 

Желающие посмотреть мод в действии могут вволю поэкспериментировать на отладочном форуме: _http://thefatcat.jino-net.ru/index.php?act=ST&f=1&t=4&st=0

 

Осталась проблема: чужие линки, некликабельные, просто www.my_grebanyj_site.com

Как бы к ним ломалку текста приспособить - может кто допишет мод? Сам пока не соображу. На джаве это сделал легко, а в php не силен :D

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

tslava1

IPB Redirect Mod v1.0 на Инвизионайзе посмотрите

 

 

спасибо.

прикол в том что он у меня работает только в ЛС :D

в форумах не хочет. версия IPB 2.1.4

разбираюсь.

 

Дополнение: работает, но только для новых топиков.

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

  • 2 недели спустя...
  • 3 недели спустя...
IPB Redirect Mod v1.0 на Инвизионайзе посмотрите
Дополнение: работает, но только для новых топиков.

Я так понимаю, что речь идёт именно о http://mods.invisionize.com/db/index.php/f/6137 ?!

Скажите тогда, парсит ли он ссылки на внутренние страницы форума? :D

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

  • 7 месяцев спустя...

поставил мод. подскажите как пересчитать старые сообщения. версия 2,1,6

 

и можно ли еще чтобы этот мод парсил подписи пользователей?

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

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

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

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

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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