WordPressはブログに関するデータをWordPress.orgまたはAutomatticに送信しますか?


40

最近、WordPressがあなたのブログに関するデータを自宅に送信していると誰かが聞いたことがあります。本当?もしそうなら、それはどのデータなのか、コードのどこで交換されているのかを見ることができますか?


1
@Ottoは、どのデータが保存され、最終的にどのように使用されるかについて、最高の評価を提供できます。
ブライアンフェクター

回答:


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

…コールバックの2番目のパラメーターとしてリクエストURLを取得します。URLが含まれている場合、今、あなたは確認することができますhttp://api.wordpress.org/core/version-check/し、必要に応じてすべての値を変更しますリクエストをキャンセルして新しいリクエストを送信してください。URLだけを変更する方法はまだありません。そのため、チケットにパッチを作成しました。


13

WordPressは、.org API(インストール/検索/更新)を使用すると、バージョンデータを.orgに送り返します。その後、そのデータはチャートグラフィックに照合されます。ここでデータを見ることができます。これは、環境要件のロードマップをプロットするときにも使用されると想定しています(PHP4> PHP5、MySQLバージョンサポートなど)。

以下は、.orgの統計データがどのように見えるかのサンプルです。

ここに画像の説明を入力してください

副次的な注意事項として、信頼できるソースからプラグインをインストールすることは常に不可欠です。Ottoおよびプラグインディレクトリの他のキュレーターは、base64 + evalを使用して個人情報を悪意のあるプラグイン作成者に送り返すプラグインを排除する素晴らしい仕事をしました。リポジトリに毎週表示されるものがあることを保証できます。これは、.orgリポジトリ以外のテーマにも適用されます。

リポジトリの整合性を将来的に保護するプラグインレビューチーム(テーマレビューチームと同様)を作成するという話を聞いたことがあります。wp-hackersメーリングリストに参加して、そこでさらに情報得ることができます。そこで、この種の議論が具体化されます。


7

はい。それで合っています。ワードプレス更新チェッカー、プラグイン更新チェッカー、テーマ更新チェッカーは、定期的な情報を送信します

  • あなたのIP
  • ブログのURL
  • WordPressバージョン
  • PHPバージョン
  • ロケール設定(ある場合)
  • プラグインのタイトル、説明、作成者-この一部を形成するすべてのURLを含む。
  • サイト上のすべてのプラグインの完全なリスト、それらがアクティブかどうか。

api.wordpress.orgサイトへ。これは2007年以来の古い議論です。これについては、WordPress phone home-Spyware or Justified post で詳しく読むことができます。


コードを読んで、プラグイン情報を含むコードを見ることができませんでした。その部分は真実ではないかもしれません。
ローマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.