Нещодавно я чув, як хтось каже, що WordPress надсилає дані про ваш блог додому. Це правда? і якщо так, то які дані це чи де в коді я можу побачити, що обмінюється?
Нещодавно я чув, як хтось каже, що WordPress надсилає дані про ваш блог додому. Це правда? і якщо так, то які дані це чи де в коді я можу побачити, що обмінюється?
Відповіді:
Так. Дивіться квиток № 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-адресу, тому я створив патч у квитку.
При використанні API .org (установка / пошук / оновлення) WordPress повертає дані версії до .org, наскільки мені відомо. Ці дані потім зіставляються у графічній графіці. Дані ви можете побачити тут . Я припускаю, що це також використовується під час складання дорожньої карти для вимог оточуючого середовища (наприклад, PHP4> PHP5, підтримка версій MySQL тощо).
Ось зразок того, як виглядають дані статистики .org:
Як бічна примітка, завжди обов'язково встановлювати плагіни з надійних джерел. Отто та інші куратори каталогу плагінів зробили велику роботу, відмиваючи плагіни, які використовують base64 + eval для відправки особистої інформації назад недобросовісним авторам плагінів. Я можу гарантувати, що в сховищі з’являються такі, що з’являються щотижня. Це стосується і тем, що не входять .org repo.
Я чула розмови про створення команди з огляду плагінів (подібно до команди з перегляду темів), яка забезпечить цілісність сховища в майбутньому. Ви можете приєднатися до списку розсилки wp-хакерів і отримати там більше інформації . Ось де насправді розгортається такий тип дискусій.
Так, ви праві. Програма перевірки оновлення WordPress, перевірка оновлень плагінів і перевірка оновлення теми надсилає регулярну інформацію про
на сайт api.wordpress.org Це давнє обговорення з 2007 року. Ви можете прочитати про це докладніше в моєму домі телефону телефону WordPress - шпигунське або Обгрунтоване повідомлення.