Google Play 結(jié)算系統(tǒng):打擊欺詐和濫用行為

來源: Google Developers
作者:Google Developers
時間:2020-12-21
17207
隨著您的應(yīng)用越來越受歡迎,它也會引起惡意用戶的注意,他們可能會濫用您的應(yīng)用。本主題介紹了一些建議,您應(yīng)該利用這些建議幫助防止這些針對結(jié)算服務(wù)集成的攻擊,并減少濫用行為對您的應(yīng)用的影響。

隨著您的應(yīng)用越來越受歡迎,它也會引起惡意用戶的注意,他們可能會濫用您的應(yīng)用。本主題介紹了一些建議,您應(yīng)該利用這些建議幫助防止這些針對結(jié)算服務(wù)集成的攻擊,并減少濫用行為對您的應(yīng)用的影響。

將敏感邏輯移至后端

在應(yīng)用設(shè)計允許的范圍內(nèi),盡可能將敏感數(shù)據(jù)和邏輯移至您控制的后端服務(wù)器。前端設(shè)備中的數(shù)據(jù)和邏輯越多,就越容易遭到修改或篡改。

例如,在線國際象棋游戲應(yīng)該在后端驗證每一步,而不是相信前端發(fā)送的每一步始終都是合法的。

此外,如果發(fā)現(xiàn)了漏洞或安全問題,根據(jù)您的系統(tǒng)設(shè)計,在后端而非前端進(jìn)行調(diào)試、修復(fù)和發(fā)布更新可能也會更容易。

在授予權(quán)限前驗證購買交易

應(yīng)該在后端處理敏感數(shù)據(jù)和邏輯的一種特殊情況是購買交易驗證。用戶完成購買交易后,您應(yīng)該執(zhí)行以下操作:

將相應(yīng)的purchaseToken發(fā)送到后端。也就是說,您應(yīng)維護(hù)一份所有購買交易的所有purchaseToken值記錄。

驗證當(dāng)前購買交易的purchaseToken值是否與以前的任何purchaseToken值都不匹配。purchaseToken具有全局唯一性,因此您可以放心地使用此值作為數(shù)據(jù)庫中的主鍵。

使用Google Play Developer API中的Purchases.products:get或Purchases.subscriptions:get端點向Google驗證購買交易是否合法。

如果購買交易合法且過去沒有使用過,那么您就可以放心地授予對應(yīng)用內(nèi)商品或訂閱的權(quán)限。

對于訂閱,在Purchases.subscriptions:get中設(shè)置linkedPurchaseToken時,您還應(yīng)從數(shù)據(jù)庫中移除linkedPurchaseToken并撤消授予linkedPurchaseToken的權(quán)限,以確保不會因同一購買交易而向多個用戶授予權(quán)限。

注意:請勿使用orderId檢查是否存在重復(fù)的購買交易或?qū)⑵渥鳛閿?shù)據(jù)庫中的主鍵,因為不能保證所有購買交易都會生成orderId。特別是,使用促銷代碼完成的購買交易不會生成orderId。

保護(hù)未鎖定內(nèi)容

為防止惡意用戶重新分發(fā)您未鎖定的內(nèi)容,請勿將這種內(nèi)容放入您的APK文件中,而是執(zhí)行以下操作之一:

使用實時服務(wù)發(fā)送內(nèi)容,例如內(nèi)容Feed。通過實時服務(wù)發(fā)送內(nèi)容還可以使內(nèi)容始終保持最新狀態(tài)。

使用遠(yuǎn)程服務(wù)器發(fā)送內(nèi)容。

通過遠(yuǎn)程服務(wù)器或?qū)崟r服務(wù)發(fā)送內(nèi)容時,您可以將未鎖定內(nèi)容存儲在設(shè)備內(nèi)存中或設(shè)備的SD卡上。如果將內(nèi)容存儲在SD卡上,請務(wù)必加密內(nèi)容并使用設(shè)備專用加密密鑰。

檢測并處理作廢的購買交易

作廢的購買交易是指已經(jīng)取消、撤消或退款的購買交易。如果作廢的購買交易此前已向用戶授予應(yīng)用內(nèi)商品或其他內(nèi)容,您可以使用Voided Purchases API獲悉購買交易作廢的原因并獲得您可以收回的任何關(guān)聯(lián)內(nèi)容。

注意:如果作廢的購買交易沒有任何與之關(guān)聯(lián)的可收回內(nèi)容,Voided Purchases API不會公開此類購買交易。

購買應(yīng)用內(nèi)商品和訂閱的交易可能出于各種原因而作廢,其中包括:

用戶、開發(fā)者或Google取消購買交易。請注意,對于訂閱,這是指取消購買訂閱的交易,而不是取消訂閱本身。

購買交易被退款。

應(yīng)用開發(fā)者取消用戶訂單或退款,并在控制臺中選中“撤消”選項。

您可以根據(jù)購買交易作廢的原因并考慮用戶以前的行為數(shù)據(jù)來決定相應(yīng)的操作。我們建議您執(zhí)行以下一項或多項操作:

執(zhí)行收回商品操作:如果購買交易作廢,您可以收回未使用的商品,視同其從未出售過。例如,如果游戲幣購買交易作廢,您可以收回已經(jīng)授予用戶的游戲幣。如果用戶已經(jīng)花掉了游戲幣,可以考慮將游戲幣余額設(shè)置為負(fù)數(shù),并限制應(yīng)用活動和未來的購買交易,直到游戲幣余額為正數(shù)。

實施多次警示:可以考慮對初犯者采取比較溫和的措施,比如顯示應(yīng)用內(nèi)警告。對于屢犯者,應(yīng)考慮采取更嚴(yán)厲的措施。

暫時禁止購買:與實施多次警示類似,您也可以考慮在您能夠更徹底地調(diào)查購買交易作廢的原因之前,禁止購買交易曾經(jīng)作廢的用戶進(jìn)行購買。

暫時或永久禁止訪問您的應(yīng)用:對于屢次實施惡意活動的極端情況,應(yīng)考慮暫時或永久禁止對方訪問您的應(yīng)用。

頻繁調(diào)用Voided Purchases API:當(dāng)您檢測到一筆或多筆作廢的購買交易時,可以考慮更頻繁地調(diào)用Voided Purchases API,以便在用戶使用前收回所購商品。如需了解有關(guān)Voided Purchaisse API配額的更多信息,請參閱Voided Purchases API文檔。

幫助Google在欺詐發(fā)生前及時發(fā)現(xiàn)欺詐行為

實施某些類型的欺詐行為的惡意用戶會創(chuàng)建多個Google帳號和應(yīng)用內(nèi)帳號來隱藏他們的活動。

將builder中的setObfuscatedAccountId和setObfuscatedProfileId方法用于BillingFlowParams可幫助Google將Google帳號映射到應(yīng)用內(nèi)帳號。

Google會使用這些數(shù)據(jù)檢測可疑行為,并在某些類型的欺詐性交易完成之前及時加以阻止。

針對商標(biāo)和版權(quán)侵犯采取行動

如果您使用遠(yuǎn)程服務(wù)器發(fā)送或管理內(nèi)容,請確保當(dāng)用戶訪問內(nèi)容時,應(yīng)用能夠驗證未鎖定內(nèi)容的購買狀態(tài)。這樣,您就可以根據(jù)需要撤消使用權(quán),并最大限度地減少盜版。如果您看到自己的內(nèi)容在Google Play上被重新分發(fā),請務(wù)必迅速、果斷地采取行動。如需了解更多詳情,請參閱版權(quán)幫助中心內(nèi)的版權(quán)常見問題解答頁面。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Google Developers,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家