2011-11-15 16 views
3

アプリ内購入を確認する際に(ほぼ)すべての回答を読み、実際には既にサーバー側で実装しています。しかし、サーバーを管理することは時には高価になる可能性があります。理論的には、アプリから検証することができます。基本的には、Appleにjsonを送信して答えを返します。 もちろん、jailbrokenデバイスでは、領収書が偽造されている可能性があるので、アップルのサーバーへのhttps接続を信頼できないのはなぜですか? 私は、ユーザーが私のアプリケーションをハックする場合は、何かを確かめる本当の方法はありませんが、ハックがアップルの偽の領収書テストを提供する一般的な方法であれば十分でしょうか?クライアントからのアプリ購入確認で確認する

明らかに、reciptsのアプリ内検証のセキュリティレベルはどのようなものですか?ある程度の保護を加えることはできますか?

+0

を支援します)しかし、私はセキュリティの専門家ではないし、間違っているだけで、まったく役に立たないソリューションを顧客に提案したくない... –

答えて

3

This answerは、「IAPクラッカー」などの「汎用」クラッカーの影響を制限するためにサーバーサイドチェックを使用する必要がある理由を説明しています。あなたのコンテンツ配信APIにiTunesのjsonリクエストを連鎖させることは非常に便利で、答えは高速です。もちろん

あなたの目的はアプリで、すでにいくつかのコンテンツを提供することであるが、ロックされている場合、あなたはそれが特にこのため、サーバーのセットアップに便利ではないと感じるかもしれないが、私はこの実験を行うことをお願いします:

  1. いくつかの良いコンテンツとアプリと、既にアプリでロックされ、このコンテンツ(ありませんので、コンテンツ・サーバーの必要性)
  2. は数を比較し、ちょうどいくつかのヶ月後にこのロック機能
  3. の使用状況を追跡するために、いくつかの分析を追加します有料機能を使用する新規ユーザーの数で購入します。
  4. この時点で、領収書の検証のためだけにサーバースクリプトを追加することは良い投資であることは明らかです。非常に安価なサービス(例:都市用飛行船)もありますが、このためにハードウェアをセットアップする必要はありません。
+0

私はすでにそれを読んでいるが、実際には何も書いていないexplainations!つまり、提案されたソリューションはうまく動作し、クライアントからの検証よりもはるかに安全ですが、既に組み込まれている機能のロックを解除する目的で、Appleからhttps経由で直接アプリから検証できない理由があります格納? –

+0

IAPクラッカーは、外部サーバの領収書チェックがない場合、IAPのロック解除を提供すると主張しています。おそらく、有効な領収書json( "status" = "0")を返すことによってbuy.itunes.apple.comへの接続を偽装することです。そしてそれがそれをしないならば、ユーザがいつも有効な領収書の結果を返す偽のbuy.itunesサーバを指すようにローカルDNSを設定するのは簡単です。明らかに外部検証サーバを使用してIAPクラッカーやDNSトリックのような汎用ツールは検証段階に影響を与えません(アプリケーションが一般的なIAPクラックに対してより堅牢になるため) – viggio24

+0

ごめんなさい、 iADがローカルのDNSハックを実装している、あるいは単なる仮定にすぎないのでしょうか?なぜなら、私はそれが赤いので、httpsのレイヤ全体ではなく、アプリ内のコールをハッキングするからです。 –

0

私はinappクラッカーをハックし、それをクライアント側でブロックする方法を発見します。作成する領収書とトランザクションIDには、予測が容易な予測可能なスキームがあります。私はここですべての詳細を置く: spot fake receipts client side update

希望は、これは私が(私は常にもちろん学ぶために何かあります場合でも、JSONを送信する方法を知ってそれを行うためのコードを探していないよ

関連する問題