Форум вебмастеров

Хаки vBulletin Интересные и полезные хаки и моды для vBulletin

Ответ
 
LinkBack Опции темы
Старый 18.03.2012, 14:09 #1 (Ссылка)
Профи
Дополнительная информация
По умолчанию

Закрытие/редирект внешних ссылок


Наверное, вы обратили внимание, как на этом форуме выглядят все внешние ссылки? При наведении на них мышкой появляется надпись "Внешняя ссылка, реферер не передается..." Эта темка посвящена тому, как сделать то же самое у вас на форуме.
Поисковики перестанут видеть внешние ссылки, для них это будет просто тег <span>

Примечание: требуется редактирование исходных файлов движка.

Порядок действий:
1) Скачиваем хак.
2) Редактируем на сервере файл includes/class_bbcode.php, на всякий случай предварительно сохранив исходную (неизменённую) копию. Текст замены одной из функций (а не всего файла, обратите внимание!) приведен в файле external_links данного архива.
3) Импортируем продукт в нужной кодировке.
4) В шаблоне headinclude нужного стиля в самом низу добавляем скрипт:

Код:

Блок отключен
5) Смотрим на форуме - изменились внешние ссылки или нет. Если нет, то переходим в phpmyAdmin и выполняем запрос к базе данных:

Код:

Блок отключен
Если у вашей базы данных есть префикс у таблиц (можно посмотреть в списке таблиц) то добавляем его перед названием данной таблицы:

Код:

Блок отключен
После этого убедимся, что запрос выполнен (об этом будет сообщение SQL-запрос был успешно выполнен) и любуемся на новый вид внешних ссылок.
(Если и это не помогло, в админке - "обслуживание" перестраиваем кеш сообщений).

Настройки продукта находятся в настройках bb-кодов, и там, собственно, всего один пункт: В этом пункте вы можете указать домены, которые не будут открываться яваскриптом. По умолчанию в форме указаны сайты техподдержки.

Обратите внимание: хак работает только со ссылками, заключенными в тег bb-кода URL, включите в настройках пункт "Автоматически вставлять ссылки".
Примечание: браузер Опера реферер всё же передает.
Проверила данный хак на своём форуме - работает.
Вложения
Тип файла: zip external_links.zip (3.7 Кб, 59 просмотров)

Последний раз редактировалось Ночная странница; 18.03.2012 в 14:18. Причина: перезапаковывала архив в zip
Ночная странница вне форума   Ответить с цитированиемОтветить с цитированием
7 пользователя(ей) сказали cпасибо:
Allex (30.03.2013), Boss (19.03.2012), inso (10.10.2013), rusty (19.06.2012), Veter (18.03.2012), Аркадий 10 (19.03.2012), джинася (21.04.2013)

Старый 21.10.2012, 18:43 #21 (Ссылка)
Администратор
Дополнительная информация
По умолчанию

Продукт в первом посте темы. Во вложении.
Порядок установки также описан в первом посте.

Цитата:
Сообщение от Автоспец Посмотреть сообщение
Откуда и куда его импортировать?
Админка, продукты и модули, управление продуктами, Добавить/импортировать продукт



Цитата:
Сообщение от Автоспец Посмотреть сообщение
Шаблон headinclude где расположен?
Админка, стили и шаблоны, управление стилями, редактировать шаблоны, в списке находите нужный.


Автоспец, изучайте админку. VB очень мощный движок, но вполне доступный и логичный.
Veter вне форума   Ответить с цитированиемОтветить с цитированием
Пользователь сказал cпасибо:

Старый 22.04.2013, 17:00 #22 (Ссылка)
Вебмастер
Дополнительная информация
По умолчанию

Ничего у меня не получается!
Как исправляю

Цитата:
Сообщение от Ночная странница Посмотреть сообщение
includes/class_bbcode.php,
так у меня не загружаются темы.

Вот как в документе:
Цитата:
* @return string HTML representation of the tag.
*/
function handle_bbcode_url($text, $link)
{
$rightlink = trim($link);
if (empty($rightlink))
{
// no option -- use param
$rightlink = trim($text);
}
$rightlink = str_replace(array('`', '"', "'", '['), array('`', '&quot;', ''', '['), $this->strip_smilies($rightlink));

// remove double spaces -- fixes issues with wordwrap
$rightlink = str_replace(' ', '', $rightlink);

if (!preg_match('#^[a-z0-9]+(?<!about|javascript|vbscript|data):#si', $rightlink))
{
$rightlink = "http://$rightlink";
}

if (!trim($link) OR str_replace(' ', '', $text) == $rightlink)
{
$tmp = unhtmlspecialchars($rightlink);
if (vbstrlen($tmp) > 55 AND $this->is_wysiwyg() == false)
{
$text = htmlspecialchars_uni(vbchop($tmp, 36) . '...' . substr($tmp, -14));
}
else
{
// under the 55 chars length, don't wordwrap this
$text = str_replace(' ', '', $text);
}
}
static $current_url, $current_host, $allowed;
$is_external = true;
if (!isset($current_url))
{
$current_url = @parse_url($this->registry->options['bburl']);
$current_host = preg_replace('#\d)+$#', '', $current_url['host']);

$allowed = preg_split('#\s+#', $this->registry->options['kr_external_links_whitelist'], -1, PREG_SPLIT_NO_EMPTY);
$allowed[] = preg_replace('#^www\.#i', '', $current_host);
$allowed[] = preg_replace('#^www\.#i', '', $current_url['host']);
}
$target_url = preg_replace('#^([a-z0-9]+//)?)#', '', $rightlink);
foreach ($allowed AS $host)
{
if (stripos($target_url, $host) !== false)
{
$is_external = false;
}
}
// standard URL hyperlink
if(!$is_external)
{
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
}else{
global $vbphrase;
$phrase_noref = construct_phrase($vbphrase['kr_external_links'], $rightlink);
$uniqid = substr(md5(uniqid(rand(), true)), 0, 10);
return "<span id=\"extlink_" . $uniqid . "\" title=\"" . $phrase_noref . "\" style=\"text-decoration:underline; cursor: pointer;\" onclick=\"return open_external('$rightlink', this.id);\">$text</span>";
}
Добавлено через 34 секунды
Ой,смайлики...
джинася вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 19:29 #23 (Ссылка)
Администратор
Дополнительная информация
По умолчанию

Скачайте ваш файл class_bbcode.php, запакуйте и выложите здесь. Исходник разумеется.
Veter вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 22:30 #24 (Ссылка)
Вебмастер
Дополнительная информация
По умолчанию

Пардон,только детей уложила.
Вложения
Тип файла: zip class_bbcode.zip (16.8 Кб, 2 просмотров)
джинася вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 22:37 #25 (Ссылка)
Администратор
Дополнительная информация
По умолчанию

Пробуйте земенить ваш файл вот этим.
Исходник сохраните естественно.
Вложения
Тип файла: zip class_bbcode.zip (17.4 Кб, 4 просмотров)
Veter вне форума   Ответить с цитированиемОтветить с цитированием
Пользователь сказал cпасибо:
джинася (22.04.2013)

Старый 22.04.2013, 22:43 #26 (Ссылка)
Вебмастер
Дополнительная информация
По умолчанию

Цитата:
Сообщение от Veter Посмотреть сообщение
Пробуйте земенить ваш файл вот этим.
Исходник сохраните естественно.
Заменила. Темы открываются.
Но ссылки не изменились.
Вот это надо теперь сделать:
Цитата:
Сообщение от Ночная странница Посмотреть сообщение
5) Смотрим на форуме - изменились внешние ссылки или нет. Если нет, то переходим в phpmyAdmin и выполняем запрос к базе данных:
На хостинге?
джинася вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 22:50 #27 (Ссылка)
Администратор
Дополнительная информация
По умолчанию

Продукт импортировали?
В шалон headinclude вашего стиля вставили скрипт?
Очистите кэш.

В БД обычно не требуется лезть
Veter вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 23:13 #28 (Ссылка)
Вебмастер
Дополнительная информация
По умолчанию

Цитата:
Сообщение от Veter Посмотреть сообщение
Продукт импортировали?
В шалон headinclude вашего стиля вставили скрипт?
Очистите кэш.
Все сделала. Эффекта 0.
джинася вне форума   Ответить с цитированиемОтветить с цитированием

Старый 22.04.2013, 23:21 #29 (Ссылка)
Администратор
Дополнительная информация
По умолчанию

Ну попробуйте ответить там в какой-нибудь теме со ссылкой. Посмотрите эффект.
Veter вне форума   Ответить с цитированиемОтветить с цитированием
Пользователь сказал cпасибо:
inso (10.10.2013)

Старый 22.04.2013, 23:26 #30 (Ссылка)
Вебмастер
Дополнительная информация
По умолчанию

Цитата:
Сообщение от Veter Посмотреть сообщение
Ну попробуйте ответить там в какой-нибудь теме со ссылкой. Посмотрите эффект.
Ссылки изменили цвет. При наведении появляется окно,но там "крокозябли".
джинася вне форума   Ответить с цитированиемОтветить с цитированием

Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.


LinkBacks (?)
LinkBack to this Thread: https://wmboard.net/haki-vbulletin/2641-zakrytie-redirekt-vneshnih-ssylok.html
Автор For Type Дата
Нигма-интернет : скрипт замены реферера в ссылке This thread Refback 21.03.2012 21:41

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редирект внешних ссылок vBulletin 5.2.2 Реалистик Хаки vBulletin 4.x.x 7 19.08.2017 22:38
1.5.x XenForo плагин редирект и кодирования, скрытия внешних ссылок usergeyv Плагины для XenForo 0 05.03.2017 22:06
1.4.x Anonymizer XenForo/URL Redirector Go-Anonym / Редирект внешних ссылок XenForo usergeyv Плагины для XenForo 1 24.01.2016 00:37
Link Anonymizer NEV IPB / Редирект внешних ссылок IPB usergeyv Invision Power Board 0 10.01.2016 23:22
Закрытие/редирект внешних ссылок на vBulletin 4.x.x lukamal vBulletin 4.x.x 1 15.11.2012 21:07


Текущее время: 04:38. Часовой пояс GMT +3.

Powered by vBulletin®
Copyright ©2000 - 2022, WMboard.
Перевод: zCarot
 

Форум вебмастеров

Здесь делают сайты, учатся на них зарабатывать. Ты новичок, и ничего не понимаешь в создании сайтов и в интернет заработке? Не знаешь ответа на вопрос по сайтостроению? Мучают вопросы сео оптимизации?

Не беда, присоединяйся к сообществу вебмастеров, и зарабатывай вместе с нами!