我最近听说有人说WordPress确实会将有关您博客的数据发送回国内。真的吗?如果是的话,那是什么数据,或者在代码中的什么地方可以看到交换的内容?
我最近听说有人说WordPress确实会将有关您博客的数据发送回国内。真的吗?如果是的话,那是什么数据,或者在代码中的什么地方可以看到交换的内容?
Answers:
是的,它确实。请参阅票证#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作为回调的第二个参数。现在,您可以检查网址是否包含http://api.wordpress.org/core/version-check/
和根据需要更改所有值取消请求并发送新请求。仍然无法仅更改URL,这就是为什么我在故障单中创建了补丁的原因。
据我所知,当使用.org API(安装/搜索/更新)时,WordPress会将版本数据发送回.org。然后将该数据整理成图表图形。您可以在此处查看数据。我认为在为环境要求制定路线图时(例如,PHP4> PHP5,MySQL版本支持等),也会使用此方法。
以下是.org统计数据的示例:
附带说明,始终必须从受信任的来源安装插件。Otto和插件目录的其他策展人都做了出色的工作,清除了使用base64 + eval将个人信息发送回不道德的插件作者的插件。我可以保证每周都会在存储库中弹出一些内容。这也适用于.org回购之外的主题。
我听说过要创建一个插件审查团队(类似于主题审查团队),以确保将来存储库的完整性。您可以加入wp-hackers邮件列表,并在那里获取更多信息。这就是这些讨论真正充实的地方。
是的,你是对的。WordPress更新检查器,插件更新检查器和主题更新检查器发送有关以下内容的常规信息:
到api.wordpress.org网站。自2007年以来,这是一个古老的讨论。您可以在我的WordPress电话主页-间谍软件或辩护文章中了解更多信息。