【问题标题】:prevent fake in app purchase on jailbroken device防止在越狱设备上购买虚假应用程序
【发布时间】:2013-07-25 05:25:12
【问题描述】:

我正在开展一个项目,其中包括消耗品应用内购买。现在在越狱设备上,用户可以进行虚假的应用内购买。我已经包含了收据验证码

如何预防?我在这里有什么遗漏吗?是否可以检查设备是否越狱?

【问题讨论】:

标签: iphone ios objective-c ios6 in-app-purchase


【解决方案1】:

可以知道您的应用是否在越狱设备上运行,大多数越狱设备都有一个名为Cydia的应用,您可以检查该应用是否存在:

+(BOOL)isJailbroken {
NSURL* url = [NSURL URLWithString:@"cydia://package/com.example.package"];
return [[UIApplication sharedApplication] canOpenURL:url];
}

Cydia 有一个 URL 方案 cydia://,可以通过 UIApplication canOpenURL 合法检查:

【讨论】:

  • 这不是一个确定的方法。它相当不错,但并不完美。此外,仅仅因为设备越狱并不意味着用户是恶意的。这是一个更危险的假设。
  • 请注意,并非所有用户都安装了 Cydia -- 这不是一个好的检查,您应该检查 /all/ users /will/ 拥有的 /bin/bash 之类的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多