Отправляет ли WordPress данные о вашем блоге на WordPress.org или Automattic?

40

Недавно я слышал, как кто-то говорит, что WordPress отправляет данные о вашем блоге домой. Это правда? и если да, что это за данные или где в коде я могу увидеть, что обменивается?

Римский
источник
1
@ Отто может дать вам наилучшую оценку того, какие данные хранятся и как они в конечном итоге используются.
Брайан Фегтер

Ответы:

30

Да, это так. См. Билет # 16778. WordPress передает информацию о пользователях / блогах во время wp_version_check () . Все детали в /wp-includes/update.php:

if ( is_multisite( ) ) {
    $user_count = get_user_count( );
    $num_blogs = get_blog_count( );
    $wp_install = network_site_url( );
    $multisite_enabled = 1;
} else {
    $user_count = count_users( );
    $user_count = $user_count['total_users'];
    $multisite_enabled = 0;
    $num_blogs = 1;
    $wp_install = home_url( '/' );
}

$query = array(
    'version'           => $wp_version,
    'php'               => $php_version,
    'locale'            => $locale,
    'mysql'             => $mysql_version,
    'local_package'     => isset( $wp_local_package ) ? $wp_local_package : '',
    'blogs'             => $num_blogs,
    'users'             => $user_count,
    'multisite_enabled' => $multisite_enabled
);

$url = 'http://api.wordpress.org/core/version-check/1.6/?' . http_build_query( $query, null, '&' );

$options = array(
    'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),
    'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ),
    'headers' => array(
        'wp_install' => $wp_install,
        'wp_blog' => home_url( '/' )
    )
);

$response = wp_remote_get($url, $options);

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

Вот простой пример анонимизации строки UA (из недавней статьи в блоге ):

add_filter( 'http_request_args', 't5_anonymize_ua_string' );

/**
 * Replace the UA string.
 *
 * @param  array $args Request arguments
 * @return array
 */
function t5_anonymize_ua_string( $args )
{
    global $wp_version;
    $args['user-agent'] = 'WordPress/' . $wp_version;

    // catch data set by wp_version_check()
    if ( isset ( $args['headers']['wp_install'] ) )
    {
        $args['headers']['wp_install'] = 'http://example.com';
        $args['headers']['wp_blog']    = 'http://example.com';
    }
    return $args;
}

Вы можете изменить это на ...

add_filter( 'http_request_args', 't5_anonymize_ua_string', 10, 2 );

… И получите URL-адрес запроса в качестве второго параметра для вашего обратного вызова. Теперь вы можете проверить, содержит ли URL-адрес http://api.wordpress.org/core/version-check/иизменить все значения как хотитеотменить запрос и отправить новый. Все еще нет способа изменить только URL, поэтому я создал патч в заявке.

Фуксия
источник
13

Насколько мне известно, WordPress отправляет данные о версии обратно в .org при использовании API .org (установка / поиск / обновление). Эти данные затем сопоставляются в графике диаграммы. Вы можете увидеть данные здесь . Я предполагаю, что это также используется при построении дорожной карты для требований среды (то есть PHP4> PHP5, поддержка версий MySQL и т. Д.).

Вот пример того, как выглядят данные статистики .org:

введите описание изображения здесь

Как примечание, всегда обязательно устанавливать плагины из надежных источников. Отто и другие кураторы каталога плагинов проделали большую работу по отсеиванию плагинов, которые используют base64 + eval для отправки личной информации недобросовестным авторам плагинов. Я могу гарантировать, что некоторые из них появляются в хранилище еженедельно. Это относится и к темам вне репозитория .org.

Я слышал разговоры о создании группы по проверке плагинов (аналогично группе по обзору тем), которая обеспечит целостность хранилища в будущем. Вы можете присоединиться к списку рассылки wp-hackers и получить больше информации там . Вот где действительно обсуждаются подобные обсуждения.

Брайан Фегтер
источник
7

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

  • Ваш IP
  • URL блога
  • Версия для WordPress
  • Версия PHP
  • Настройка локали, если она есть
  • Название плагина, описание, автор - включая все URL, которые являются частью этого.
  • Полный список всех плагинов на вашем сайте, независимо от того, активны они или нет.

на сайт api.wordpress.org. Это давняя дискуссия с 2007 года. Вы можете прочитать об этом больше в моем посте WordPress Phone Home - Spyware или Justified post.

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