1

私はyozioコードを見ていましたが、デバイス名とIPアドレスを指紋として追跡しているようです。IPアドレスは変更される可能性があり、デバイス名は「Bob's iPhone」などの複数のデバイス間で同じである可能性があるため、これは信頼できますか。私は仮定が間違っていますか?

これがYozioの実装です

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  NSString *appKey = @"e78ffa70-0975-0130-2e03-12314000ac7c";
  NSString *deviceName = [[[UIDevice currentDevice] name] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  NSString *url = [NSString stringWithFormat:@"http://yoz.io/e?app_key=%@&device_name=%@", appKey, deviceName];
  [NSURLConnection connectionWithRequest:[NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]] delegate:nil];

  // Your app code here...
}
4

2 に答える 2

1

彼らはプライバシー記事でプロセスを説明しています

指標と分析:Yozioは、Yozioサービスを通じて作成されたすべての短縮URLのアクセス(クリックなど)に関する情報を収集します。この情報には、以下が含まれますが、これらに限定されません。(i)短縮URLにアクセスするデバイスのHTTPヘッダー内のIPアドレスおよびその他の情報。(ii)Cookieなどの短縮URLにアクセスするWebブラウザからの情報。(iii)参照元のWebサイトまたはサービス。(iv)各アクセスの日時。(v)AdMobやFacebookなどのサードパーティサービスでの短縮URLの共有に関する情報。これらの指標と分析は、Yozioがサイトとサービスを改善するために使用します。

WURFLに適用されたユーザーエージェントデータを含むデバイス名は、一意にかなり近い識別子を生成する可能性があると思います。

于 2012-11-05T13:19:44.657 に答える
0

私はこのようにします:

+(NSString*) uniqueIdentifier {

    // Check if one exists
    if ([[NSUserDefaults standardUserDefaults] stringForKey:@"uniqueIdentifier"].length > 0)
        return [[NSUserDefaults standardUserDefaults] stringForKey:@"uniqueIdentifier"];

    // One doesn't exist, create one
    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    NSString* uuidStr = (__bridge NSString*) CFUUIDCreateString(kCFAllocatorDefault, uuid);
    CFRelease(uuid);
    [[NSUserDefaults standardUserDefaults] setValue:uuidStr forKey:@"uniqueIdentifier"];
    return uuidStr;

}
于 2012-11-05T13:20:24.460 に答える