3

私たちのアプリは、更新不可能なサブスクリプションを使用して、1年間のコンテンツへのアクセスを提供します。サブスクリプションレシートは、iCloud(利用可能な場合)とデバイスのキーチェーンに保存されます。レシートを検証するために時々呼び出されるが、トランザクションを記録しないWSもあります。

私たちの問題は、ユーザーが時計を逆に変更した場合(たとえば、日付を2010に設定した場合)、サブスクリプションは1年後に期限切れにならず、現在は3年(2013-2010)に期限切れになります。

私たちの解決策は、1年以上の期間のサブスクリプションは不正であり、領収書はクリアされ、人生は続くということでした。

しかし、私の上司は現在、時計を過去6か月に設定したユーザーについて不満を言っています(1年未満で問題ありませんが、サブスクリプションは有効な1年ではなく1。5年続きます)。

デバイスクロックの改ざんに対処するためのより良い方法はありますか、それとも(私が信じているように)私たちが一緒に暮らさなければならないものですか?

4

2 に答える 2

1

アプリがサーバーからコンテンツを取得する場合は、有効期限と組み合わせた「デバイス識別子」のリストを保存できます。

サーバー上にいると、サブスクリプションの有効期限が切れているかどうかに関係なく、クライアント時間は通知されません。

于 2013-02-22T13:56:09.593 に答える
0

上記のコメントで述べたように、現地時間を使用する代わりに、信頼できるサーバーで時刻を確認します。同様に重要なのは、領収書の有効期限が切れたら、すぐに削除するか、有効期限が切れたとマークして、ネットワークアクセスをオフにしたり、使用するために時間をロールバックしたりできないようにすることです。

于 2013-02-22T14:10:44.843 に答える