web-dev-qa-db-fra.com

WordPress envoie-t-il des données sur votre blog à WordPress.org ou à Automattic?

J'ai récemment entendu quelqu'un dire que WordPress envoyait des données sur votre blog à la maison. Est-ce vrai? et si oui de quelles données s'agit-il ou à quel endroit du code puis-je voir ce qui est échangé?

40
Roman

Oui. Voir Le billet n ° 16778 wordpress divulgue des informations utilisateur/blog pendant wp_version_check () . Tous les détails sont en /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);

L'agent utilisateur contient l'URL de votre installation, de sorte que toutes ces données ne sont plus anonymes. Pour obtenir un filtre de confidentialité, filtrez 'http_request_args' et modifiez les données que vous ne souhaitez pas divulguer.

Voici un exemple simple permettant d'anonymiser la chaîne d'utilisateur (à partir d'un article de blog récent ):

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;
}

Vous pouvez changer cela en…

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

… Et obtenez l'URL de la demande en tant que deuxième paramètre pour votre rappel. Maintenant, vous pouvez vérifier si l’URL contient http://api.wordpress.org/core/version-check/ et changer toutes les valeurs à volonté annuler la demande et en envoyer une nouvelle. Il n’existe toujours pas de moyen de changer l’URL, c’est pourquoi j’ai créé le correctif dans le ticket.

30
fuxia

WordPress renvoie les données de version à .org lors de l’utilisation de l’API .org (installation/recherche/mise à jour) à ma connaissance. Ces données sont ensuite rassemblées dans des graphiques. Vous pouvez voir les données ici . Je suppose que cela est également utilisé lors du tracé de la feuille de route pour les exigences de l’environnement (par exemple, PHP4> PHP5, support de la version de MySQL, etc ...).

Voici un exemple des données statistiques .org:

enter image description here

En passant, il est toujours impératif d’installer des plugins à partir de sources fiables. Otto et les autres conservateurs du répertoire des plugins ont fait un excellent travail en éliminant les plugins qui utilisent base64 + eval pour renvoyer des informations personnelles à des auteurs de plugins peu scrupuleux. Je peux vous garantir que certaines d'entre elles apparaissent toutes les semaines dans le référentiel. Ceci s’applique également aux thèmes extérieurs au repo .org.

J'ai entendu parler de la création d'une équipe de révision de plug-in (similaire à l'équipe de révision de thème) qui sécurisera l'intégrité du référentiel à l'avenir. Vous pouvez rejoindre la liste de diffusion wp-hackers et obtenir plus d’informations . C’est là que ce type de discussions est vraiment étoffé.

13
Brian Fegter

Oui vous avez raison. Le vérificateur de mise à jour de wordpress, le vérificateur de mise à jour de plug-in et le vérificateur de mise à jour de thème envoient régulièrement des informations sur:

  • Ton ip
  • URL du blog
  • Version WordPress
  • Version PHP
  • Paramètre local s'il y en a un
  • Titre du plugin, description, auteur - y compris toutes les URL qui en font partie.
  • Liste complète de tous les plugins sur votre site, qu'ils soient actifs ou non.

sur le site api.wordpress.org. Ceci est une vieille discussion depuis 2007. Vous pouvez en lire plus à ce sujet dans mon post WordPress phone home - Spyware ou Justified post.

7
Sarath