561
美食
業務風控Android/iOS使用說明__使用手冊_數據風控-阿裏雲
業務風控,包含:注冊防控、登陸防控、活動防控、消息防控和其他風險防控,通過用戶行為、軟硬件環境信息、設備指紋、業務基礎信息綜合判定用戶請求的風險程度:
注冊防控:在注冊場景提供安全防護,防止機器注冊、人工惡意注冊、注冊短信被攻擊。
登陸防控:在登陸場景提供安全防護,防止刷庫撞庫、暴力破解、可疑登陸。
活動防控:在活動場景提供安全防護,防止刷紅包、搶優惠券、黃牛搶號、黃牛刷單。
消息防控:在發帖、評論場景提供安全防護,防止批量發帖、垃圾評論。
其他風險防控:其他場景下的風險防控,防止如頻繁查機票、機器點讚、批量送禮物、虛假投票等。
係統間交互流程
1.風險采集:采集用戶行為、軟硬件環境信息、設備指紋信息。用戶在提交業務請求之前,需要調用數據風控sdk接口,完成風險采集;
2.提交業務請求:用戶提交業務請求如注冊、登陸請求時,需要將sdk端風控參數傳遞給服務端,風控參數包含:
- wtoken:風險采集id
3.判斷請求風險情況:用戶服務端調用數據風控服務api,獲得請求風險結果。該步驟需要放在業務請求處理之前。
4.風險處理:根據返回的風險結果,進行風險處理。對於不同風險結果,建議處理方案:
- 無風險:繼續做業務請求處理,如注冊、登陸處理;
- 中風險:建議在做業務請求處理之前,讓操作者進行一定的驗證,如驗證碼、語音、短信等驗證;
- 高風險:建議直接返回業務請求失敗,讓操作者重新再來一次。
接入流程
1.第一步,進入數據風控控製台:
- 未開通服務,開通服務;
- 已開通服務,進入服務管理,選擇需要的業務風控服務,點擊【創建】:
2.第二步,選擇應用類型,輸入高峰期PV,點擊【下一步】:
3.第三步,根據係統集成代碼的操作步驟,下載SDK,集成到APP中;服務端調用對應api,詳細操作參見下方:係統集成。集成完成,點擊【下一步】:
4.第四步,係統集成完畢,發布對應的服務:
係統集成
Android SDK集成配置
1.生成SDK
出於對應用數據安全考慮,數據風控生成的SDK會與應用強綁定。如果此前使用Debug版應用 生成SDK需要在應用發布前使用Release版應用重新上傳,並替換原有SDK。
- 上傳Release版APK;
- 點擊“生成SDK”按鈕,生成SDK;
- 生成完SDK後,SDK自動下載到本地;
2.導入SDK
2.1 導入前準備
數據風控SDK在阿裏巴巴的很多開放的SDK中也有包含,如果你的APK中同時引入了這些SDK,則在集成聚安全SDK之前需要將這些SDK(TAE,支付寶等)中包含的安全組件(.jar、.aar文件)、圖片文件(YW_1222.JPG)全部刪除掉。
2.2 導入SDK
根據使用方式導入SDK,AndroidStudio使用aar方式導入,Eclipse使用jar和so方式導入;
- 導入aar,如圖把所有的aar都複製到項目的libs目錄下,然後在該Module的build.gradle中增加如圖配置:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.+'
compile name: 'NoCaptchaSDK-external-release-5.1.17', ext: 'aar'
compile name: 'SecurityBodySDK-external-release-5.1.25', ext: 'aar'
compile name: 'SecurityGuardSDK-external-release-5.1.81', ext: 'aar'
compile name: 'verificationsdklib', ext: 'aar'
}
- 導入jar包和so,如圖把SDK中的所有的jar包和so文件都複製到工程的libs目錄下:
注意:
a.目前隻提供兩種架構下的so文件,armeabi是針對arm架構編譯的包,x86是針對x86架構編譯的包。應用程序在不同cpu架構的機型裏會選擇相應的so文件加載。
b.如果libs下有armeabi-v7a文件夾的話,需要將armeabi中對應的so複製一份到armeabi-v7a文件夾下。
c.如果libs下有arm64-v8a或x86_64文件夾的話,需要將arm64-v8a文件夾刪除掉。
d.如果在想在x86或者模擬器上運行你的程序,必須導入x86架構的so,但是可以在應用發布時去掉x86目錄下的so。
e.最後目錄顯示如下:NoCaptchaSDK-5.1.16.jar
armeabi
SecurityBodySDK-5.1.19.jar
verificationsdklib.aar
SecurityGuardSDK-5.1.58.jar
x86
3.導入圖片
3.1 解壓第1點中生成的SDK,獲得文件:yw1222.jpg;
3.2 把這個文件導入到工程中resdrawable目錄下,如果沒有這個文件夾,請先創建,如下圖:
左圖為AndroidStudio中安全加密圖片位置,右圖為Eclipse中安全加密圖片位置;
3.3 如果開啟混淆要檢查發布包335大小不為0, shrinkResources true會導致yw_1222_0335以及yw_1222圖片為0
release {
minifyEnabled true // 是否混淆
shrinkResources true // <<<會導致335或者122圖片為0
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
解決方案一
放棄資源壓縮
解決方案二
參考google 關於shrink resource
新建 res/raw/keep.xml後加入如下內容:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="https://schemas.android.com/tools"
tools:keep="@drawable/yw_1222_0335, @drawable/yw_1222"/>
- 保留文件規則簡單介紹,資源文件相對路徑加上圖片文件名(不需要擴展名);
- 執行 ./gradlew clean assembleRelease –info|grep “Skipped unused resource” 觀察是否安全圖片給壓縮,同時檢查解壓縮後文件是否為0。
4.android studio修改項目文件
4.1 修改應用的工程根目錄build.gradle文件:
allprojects {
repositories {
jcenter()
flatDir { //<------添加三行
dirs 'libs' //<------
} //<------
}
}
4.2 修改application子工程的build.gradle文件
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile(name:'verificationsdklib', ext:'aar')
}
4.3 修改application子工程的build.gradle文件,增加jnilib
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
4.4 AndroidManifest.xml 加入驗證SDK入口Activity聲明
<activity android:name="com.alibaba.verificationsdk.ui.VerifyActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="adjustResize" >
</activity>
5.Eclispe修改項目文件5.1 添加權限信息
- 如果是AndroidStudio項目,則不需要在項目中額外配置權限,因為在aar中我們自己已經聲明了權限;
- 如果是Eclipse項目,需要在AndroidManifest.xml文件中添加下列權限配置:
5.2 AndroidManifest.xml 加入驗證SDK入口Activity聲明<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<activity android:name="com.alibaba.verificationsdk.ui.VerifyActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="adjustResize" >
</activity>
6.關於混淆
如果設置資源壓縮 shrinkResources true,參考導入圖片的處理,防止安全圖片被壓縮為0字節,配置proguard-rules.pro:
-keep class com.taobao.securityjni.**{*;}
-keep class com.taobao.wireless.security.**{*;}
-keep class com.ut.secbody.**{*;}
-keep class com.taobao.dp.**{*;}
-keep class com.alibaba.wireless.security.**{*;}
-keep class com.alibaba.verificationsdk.**{*;}
-keep interface com.alibaba.verificationsdk.ui.IActivityCallback
7.SDK API
7.1 SDK初始化:
- 初始化負責完成整個數據風控安全組件的全局初始化。初始化是線程安全的,初始化調用隻需要進行一次,無需重複調用;
- 接口詳情:
7.2 獲取數據風控wtoken
- 獲取wtoken後,服務端用wtoken為入參調用風險識別;
- 使用場景:在需要使用數據風控的場景,如注冊、登陸、活動頁麵,可以在用戶點擊“注冊”、“登陸”等業務按鈕、業務邏輯處理前獲得該token;
- 接口詳情:
iOS SDK集成配置
1.生成SDK
出於對應用數據安全考慮,數據風控生成的SDK會與應用強綁定。如果此前使用Debug版應用 生成SDK需要在應用發布前使用Release版應用重新上傳,並替換原有SDK。
- 上傳Release版ipa;
- 點擊“生成SDK”按鈕,生成SDK;
- 生成完SDK後,SDK自動下載到本地;
2.導入SDK
2.1 導入Framework
a. 把SDK中的framework文件添加到項目目錄中
MSAuthSDK.framework SecurityGuardSDK.framework SGMain.framework``SGNoCaptcha.framework``SGSecurityBody.framework
b. 將MSADefaultImages.bundle和MSADefaultLocale.bundle加入資源中
c. 如果sdk中帶有xib,需要將所有xib加入資源中
2.2 導入圖片
a. 解壓第1點中生成的SDK,獲得文件:yw1222 *.jpg;
b. 把這個文件導入到項目目錄下,如下圖:
2.3 依賴 CocoaPods:
不使用pod可以直接使用sdk內壓縮包:
pod 'SVProgressHUD', '~> 1.1'
pod 'SSZipArchive', '~> 1.1'
2.4 添加係統依賴庫
在項目中添加其他依賴的framework,如下圖:
2.5 其他項目配置
- 在Build Setting中的Other Linker Flags中添加“-ObjC”選項,如下圖:
- 在info.plist中設置,開放http請求:
3.SDK API<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
3.1 SDK初始化: - 初始化負責完成整個數據風控安全組件的全局初始化。初始化是線程安全的,初始化調用隻需要進行一次,無需重複調用;
- 接口詳情:
3.2 獲取數據風控wtoken
- 獲取wtoken後,服務端用wtoken為入參調用風險識別;
- 使用場景:在需要使用數據風控的場景,如注冊、登陸、活動頁麵,可以在用戶點擊“注冊”、“登陸”等業務按鈕、業務邏輯處理前獲得該token;
- 接口詳情:
服務端API調用
- 下載對應語言的SDK;
- 將SDK加載到工程中;
- 參考下方的代碼,開發第一步頁麵請求的處理類(如java的Action,Controller,Servlet等);注意填入自己的阿裏雲accesskey和secret;
- 參考示例代碼,對運行結果進行處理;請注意對服務端出現的錯誤進行兼容處理。
最後更新:2016-11-23 16:04:20
上一篇:
業務風控WEB/HTML5使用說明__使用手冊_數據風控-阿裏雲
下一篇:
滑動驗證WEB/HTML5使用說明__使用手冊_數據風控-阿裏雲
MySQLReader__Reader插件_使用手冊_數據集成-阿裏雲
概覽頁介紹__用戶指南_企業級分布式應用服務 EDAS-阿裏雲
sleep示例__示例程序_MapReduce_大數據計算服務-阿裏雲
雲市場商品評價規則__商品評價_服務相關_雲市場-阿裏雲
NULL值處理__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲
OSS數據源配置__數據源配置_數據同步手冊_用戶操作指南_大數據開發套件-阿裏雲
阿裏雲成中國雲計算霸主 付費用戶100萬 年收入超10億美元
枚舉類型__API參考_E-MapReduce-阿裏雲
修改解析記錄__解析管理接口_API文檔_雲解析-阿裏雲
多維分析__表操作(基於表目錄樹)_SQL操作_用戶指南(RDBMS)_數據管理-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲