Link rel pingback: Pingback WordPress – что это такое и как его отключить

Link rel pingback: Pingback WordPress – что это такое и как его отключить

Pingback WordPress – что это такое и как его отключить

Исправление ошибок

2.3k.

В вордпресс есть множество функций для развития сайтов, обменом ссылками например. Такой функцией является pingback в WordPress, о которой мало кто знает, она без вашего участия спамит исходящими ссылками из ваших статей, на полном автомате.

Содержание

  1. Pingback что это такое
  2. Отключить в настройках панели
  3. Установка плагина Remove & Disable XML-RPC Pingback
  4. Убрать пингбеки в ClearfyPRO
  5. Удаляем link rel pingback ручным методом

Pingback что это такое

Но далеко не все шаблоны поддерживают данную функцию, ссылки появляются в ваших статьях, когда с других блогов ссылаются на ваш материал. В основном располагаются внизу страницы перед комментариями и ждут подтверждения в том же разделе в административной зоне.

Пример.

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

Первым шагом нужно отключить данную функцию, наконец разработчики WordPress позаботились о пользователях.

Админка WordPress
  • Переходим Настройки — Обсуждения.
  • Выключаем первые две галочки.
  • Сохраняем настройки.

Теперь ссылки появляться не будут, далее нужно проверить код сайта на наличие вывода в шапке подключения пингбека и трекбека (это одно и тоже). Тут придется перейти в редактор, через FTP либо в админке и поискать в разделе head вывод тега link с атрибутом rel=»pingback».

 <link rel="pingback" href="https://site.ru/xmlrpc.php"> 
Исходный HTML.

Если его нет, то дальше статью не читаем, опасности появления внешних адресов на блог WordPress нет, если же есть, то переходим к следующему шагу.

Установка плагина Remove & Disable XML-RPC Pingback

Простой плагин Remove & Disable XML-RPC, установил и забыл. После его активации уязвимость исчезнет.

Disable XML-RPC

Но администраторы блогов жалуются, что не всегда помогает модуль, проверив у себя, все сработало. Подробнее про rsd и xmlrpc рассказывал здесь.

Убрать пингбеки в ClearfyPRO

В плагине Clearfy PRO можно убрать данный код с блога, активируем соответствующий переключатель.

Настройка в Клеарфай.

Как видим из описания, что такой функционал может стать причиной медленной загрузки, брутфорс или DDoS атаки, поэтому всегда советую pingback и trackback удалять из WordPress.

Клеарфай умет еще много делать, он создан специально чтобы убрать и оптимизировать WordPress от таких мелких, но необходимых недочетов, например, убирает application разметку от Yoast. Для читателей делаю постоянный промо.

Clearfy -15%

Чтобы удалить этот тег с атрибутом rel pingback, бывает trackback, необходимо править HTML ресурса, тут сделаю два замечания:

  • Если шаблон поддерживается разработчиками, то возможно при следующем обновлении изменение сотрется.
  • Нужно использовать дочерние темы, но если ее нет, то рискуете снова при обновлении все изменения потерять.

Обычно конфигурация находится в файле header php, просто стираем и сохраняем документ.

Header.php

Аналогично можно отключить ревизии записей. Метод простой, но самый не правильный, поэтому должны полностью быть уверены, что после код не перезапишется. В статье разобрал, что такое pingback WordPress и пошаговый план как их удалить.

Пожалуйста, оцените материал:

Валентин

Давно занимаюсь и разрабатываю сайты на WordPress. Считаю что лучшего решения для ведения бизнеса не найти, поэтому считаю долгом делиться информацией с остальными.

Реализация Pingback-клиента

Уселся позавчера на ночь почитать спецификацию Pingback (а что, у всех свои развлечения 🙂 ). А она оказалось такой маленькой, простой и понятной, что я как-то сразу и написал все за пару часов, попивая чаек (какой-то из дешевых юннаньских красных). Не откладывая, спешу поделиться кодом и соображениями.

Да, и кстати… Пользуясь случаем хочу повториться, что Pingback — вещь, и он заслуживает того, чтобы быть распространенным протоколом межсайтового уведомления, а не прозябать, как сейчас, реализованным только в WordPress по большому счету. Так что, уважаемые программисты, отройте где-нибудь пару-тройку часов времени и реализуйте клиент или сервер или и то, и другое!

Посмотреть, как это работает, можно, написав в форум пост со ссылкой на свой блог (не надо спамить чужие блоги тестовыми пингами!), если он поддерживает Pingback.

Реализация

Алгоритм pingback’а очень простой:

  1. при создании новой статьи из ее текста вынимаются ссылки
  2. из них отбираются те, которые ведут вовне форума
  3. содержимое ссылки загружается, и в заголовках или теле ответа ищется адрес pingback-сервера (другими словами, выясняется, поддерживает ли софт на том сервере pingback)
  4. у pingback-сервера через XML-RPC вызывается определенный метод, уведомляющий его о том, что в форумной статье такой-то содержится ссылка на его такую-то страницу (это самая простая часть, как будет видно дальше)

В коде я все это запихнул в один метод у Article. Он вышел чуть пухловатым, но зато он прост по сути и, надеюсь, читаем:

def ping_external_links(self):
  # Пара временных переменных: 
  # - URL к индексу форума, чтобы определять внешние ссылки
  # - абсолютный URL страницы топика этой статьи
  from django.contrib.sites.models import Site
  domain = Site.objects.get_current().domain
  from django.
"]+)" ?/?>', content) return match and match.group(1) # парсинг HTML статьи и отбор внешних ссылок from BeautifulSoup import BeautifulSoup soup = BeautifulSoup(self.html()) links = [a['href'] for a in soup.findAll('a') if is_external(a['href'])] # обход всех ссылок с попыткой их пинговать from xmlrpclib import ServerProxy, Fault from urllib2 import urlopen for link in links: try: f = urlopen(link) # определение ссылки на pingback-сервер # из HTTP-заголовков или первых 500 КБ страницы server_url = f.info().get('X-Pingback', '') or search_link(f.read(512 * 1024)) if server_url: # если ссылка есть, вызываем XML-RPC процедуру # со ссылками откуда и куда делается пинг server = ServerProxy(server_url) server.pingback.ping(topic_url, link) except (IOError, Fault): pass f.close()

Тут, знаете, хочется сказать большое спасибо Питону и его библиотекам, как стандартным, так и сторонним. Разложение URL’а на части, регулярные выражения, парсинг HTML, HTTP-запрос с анализом заголовков и собственно XML-RPC вызов делаются простыми и, главное, очевидными средствами. Это, как мне кажется, очень большая составляющая того, почему разработка на Питоне оказывается быстрой.

Мелкая засада с транзакциями

Pingback работает так, что когда внешний сервер получает пинг, он идет обратно на мой сервер и забирает текст, из которого я ссылаюсь на него, чтобы проверить, что ссылка там в тексте действительно есть. Этот пинг я делаю во view сразу после сохранения статьи в базу:

if form.is_valid():
  article = form.save()
  article.ping_external_links()
  return HttpResponseRedirect(...)

Так вот здесь во время вызова пинга внешний сервер не увидит у меня на сайте этой самой новой статьи. Потому что при включенном автоматическом управлении транзакциями они

коммитятся только после завершения работы всей view.

Обошел я проблему просто: вручную коммичу транзакцию прямо перед ping_external_links. То, что коммит происходит до завершения view, в этом случае совершенно безопасно с точки зрения целостности данных, потому что после этого момента они больше не меняются.

Всякие страхи

Я думаю, что эта реализация, в общем-то, неплохая, и скорее всего на практике будет счастливо работать. Но есть пара вещей, которые меня немножко беспокоят.

Вся пинговая механика делается синхронно и, соответственно, блокирует выполнение запроса пользователя. А значит, если пользователь поставит ссылку на какой-нибудь дохлый сервер, то сохранение его статьи будет долго-долго висеть, дожидаясь таймаута. В принципе, данные к тому времени уже сохранены, но все равно неприятно. Как решать — пока не знаю. Решение, например, с отфоркиванием пингующего процесса кажется чересчур сложными для такой простой вещи.

Другая боязнь заключается в том, что какой-нибудь негодяй может запостить на форум сообщение с парой тысяч ссылок и заставить таким образом мой сервер нагружать тот, на который идут ссылки. Но этого я боюсь меньше, потому что во-первых это все же не DOS-атака, потому что пингер запросы обрабатывает, а не бросает. А во-вторых я надеюсь, что антиспамные средства на сервере сведут вероятность подобного вандализма к минимуму.

Про сервер

Напоследок пару слов о реализации серверной части протокола.

В общем-то, я и не собирался его делать с самого начала. Тех, кто не помнит почему, процитирую свой комментарий на этот счет:

«сам форум не будет регистрировать пинги извне» — может стоит оставить эту фичу? Ведь на топики в форумах, особенно полезные, часто ссылаются.

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

Однако если кто-то писал (или собирается) на Джанго блог, а не форум, и реализовал серверную часть (или собирается), очень было бы интересно посмотреть. Там должен быть интересный момент с тем, как, найдя пришедшую ссылку на исходной странице, вытащить контекст, в котором она написана. WordPress, вроде бы, справляется, но наверняка можно лучше…

Основы веб-разработчика: отношения ссылок в HTML5

Поиск

В первой части этой серии мы представили HTML5 и увидели, насколько его базовый синтаксис намного проще и понятнее, чем то, как большинство разработчиков привыкло кодировать. В этой статье мы рассмотрим некоторые другие основные теги и увидим некоторые возможности языка. Большая часть этой силы связана с тем, что сами браузеры становятся настолько мощными, что их можно рассматривать почти как «движки отображения». Таким образом, HTML5 позволяет проектировать и кодировать на более высоком концептуальном уровне, оставляя некоторые детали реализации на усмотрение браузера.

Ссылки, которые заставляют задуматься

Мы все привыкли кодировать ссылки на такие вещи, как другие веб-страницы и изображения. HTML5 представляет концепцию отношений ссылок, которая, по сути, позволяет вам указать, почему вы ссылаетесь на конкретный ресурс, чтобы помочь программе, читающей страницу, как ее обработать. Например, кодирование указывает браузеру, что он должен открыть целевой URL-адрес на боковой панели или во втором окне (если возможно), при использовании указывает поисковой системе, что целевой URL следует использовать в качестве ключевого слова для текущего документа.

Отношения ссылок подразделяются на внешние ресурсы и гиперссылки. Оба они, очевидно, могут (и обычно так и делают) ссылаться на внешние документы. Но гиперссылка — это то, на что вы должны щелкнуть, чтобы активировать ее, поэтому браузеру не нужно «делать» с ней что-то особенное, чтобы обработать и отобразить страницу. С другой стороны, внешний ресурс должен обрабатываться браузером. Примеры определенных в настоящее время внешних ресурсов включают таблицу стилей, ярлык, сервер проверки связи и предварительную выборку.

Таблица стилей. Все разработчики знакомы с концепцией хранения таблиц стилей в отдельном файле, чтобы их можно было включать на все страницы сайта и изменять только в одном месте. Синтаксис в HTML5 проще; теперь вы можете написать без необходимости указывать тип языка как CSS… потому что CSS в любом случае является единственным используемым языком.

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

  

png" type="image/png">

И все это может быть точно так же указано в одном файле HTML5! Браузер после определения целевого оборудования (по умолчанию, Mac, iPhone или Linux в данном случае) может решить для себя, какой значок и размер являются наиболее подходящими для использования. В последнем случае SVG-файл является векторным, поэтому можно использовать «любой» размер, и браузер будет масштабировать его по мере необходимости.

Pingback Server: Разработчики обычно не беспокоятся об пингбэках как таковых; они больше беспокоят блоггеров. Пингбэк, по сути, позволяет автору документа получать уведомление, когда кто-то ссылается на его документ (полную спецификацию можно найти здесь). Синтаксис просто.

Предварительная выборка: это подсказка браузеру, что, вероятно, было бы неплохо получить и кэшировать URL-адрес, на который он указывает, для удобства пользователя (который почти наверняка щелкнет по нему в любую секунду) . Он почти всегда используется поисковыми системами при создании страниц результатов, так как первые один или два результата, скорее всего, будут нажаты. Уже знакомый синтаксис:.

Получение Hyper

Это оставляет нас с другими новыми связными отношениями, состоящими из гиперссылок. Мы рассмотрели некоторые из них выше, но теперь вы можете буквально указать отношения к текущему документу. First, last, prev, up и next — все это фактические типы ссылок. Для многих целей полная коллекция отношений сделает пользователей исследования более счастливыми, потому что вы также можете указать информацию об авторе, ссылку на связанные архивы, условия лицензии на авторское право, индекс или поисковый интерфейс.

Опять же, важно помнить, что преимущества кодирования страниц с этой информацией в настоящее время могут быть не очевидны сразу, но это принесет большие дивиденды в будущем, когда новые браузеры и другие программные инструменты смогут анализировать эту информацию. Они смогут отображать и использовать его так, как мы сейчас даже не можем себе представить.

Популярные статьи

Рекомендуемые

Что такое

jaswinder_rana

#1

Привет,
я наткнулся на сайт. и обнаружил, что эти теги используются. может кто-нибудь, пожалуйста, объясните мне, что это такое??


Объясните пожалуйста, спасибо

Краввиц

, 7:23

#2

http://www.google.com/search?q=RSS
http://www.google.com/search?q=pingback

jaswinder_rana

#3

Посмотрю, спасибо

но я пробовал это раньше и есть определения. Но я знаю, где их использовать.

кто-то кто

#4

Альтернативный вариант говорит: «Если по какой-то причине ваша программа для чтения RSS не поддерживает RSS2.0, вы можете использовать RSS0.92 или Atom0.3». Это в основном крайние (альтернативные) каналы.

Pingback — это то, как работает функция «pingback» в WordPress. Если кто-то введет URL-адрес вашей страницы и выберет «Pingback all URLs in this post» (в WordPress), он перейдет по URL-адресу, перейдет по ссылке pingback и опубликует всю необходимую информацию на этой странице, которая затем добавить комментарий к указанному сообщению.

вгарсия

#5

Не совсем так. «Альтернативный» означает, что содержимое страницы, на которой вы находитесь, доступно в другом формате. Это не обязательно должно быть для RSS-каналов, и RSS 2.0 не всегда является предпочтительным вариантом.

Вот пример, который предоставляет PDF-файл содержимого страницы в качестве альтернативы веб-странице для печати:

Об авторе

alexxlab administrator

Оставить ответ