최근에 누군가 워드 프레스가 블로그에 대한 데이터를 집으로 보낸다고 들었습니다. 그게 사실입니까? 그렇다면 어떤 데이터가 있거나 코드의 어디에 데이터가 교환되는지 볼 수 있습니까?
최근에 누군가 워드 프레스가 블로그에 대한 데이터를 집으로 보낸다고 들었습니다. 그게 사실입니까? 그렇다면 어떤 데이터가 있거나 코드의 어디에 데이터가 교환되는지 볼 수 있습니까?
답변:
그렇습니다. 참조 티켓 # 16778 워드 프레스는 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 만 변경할 수있는 방법이 없기 때문에 티켓에 패치를 작성했습니다.
.org API (설치 / 검색 / 업데이트)를 사용하면 WordPress에서 .org로 버전 데이터를 다시 보냅니다. 그런 다음 해당 데이터는 차트 그래픽으로 정렬됩니다. 여기 에서 데이터를 볼 수 있습니다 . 환경 요구 사항 (예 : PHP4> PHP5, MySQL 버전 지원 등)에 대한 로드맵을 그릴 때도 사용한다고 가정합니다.
다음은 .org 통계 데이터의 예입니다.
참고로, 신뢰할 수있는 소스에서 플러그인을 설치해야합니다. Otto와 플러그인 디렉토리의 다른 큐레이터는 base64 + eval을 사용하여 개인 정보를 파렴치한 플러그인 작성자에게 돌려주는 플러그인을 제거하는 데 큰 역할을했습니다. 나는 매주 저장소에 팝업이있는 것을 보장 할 수 있습니다. 이는 .org 저장소 외부의 테마에도 적용됩니다.
향후 저장소의 무결성을 보장 할 플러그인 검토 팀 (테마 검토 팀과 유사)을 작성하는 것에 대해 들었습니다. wp-hackers 메일 링리스트에 가입하여 자세한 정보를 얻을 수 있습니다 . 이러한 유형의 토론이 실제로 진행되는 곳입니다.
그래 너가 옳아. 워드 프레스 업데이트 검사기, 플러그인 업데이트 검사기 및 테마 업데이트 검사기는
api.wordpress.org 사이트로 이동하십시오. 이것은 2007 년 이후의 오래된 토론입니다. 내 게시물 WordPress phone home-Spyware 또는 Justified post 에서 더 많은 내용을 읽을 수 있습니다 .