精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>aswan陌陌風控系統靜態規則引擎

aswan陌陌風控系統靜態規則引擎

2022-05-07 | zip | 2.30 MB | 次下載 | 免費

資料介紹

授權協議 LGPL
開發語言 Python
操作系統 跨平臺
軟件類型 開源軟件

軟件簡介

aswan 是陌陌開發的風控系統靜態規則引擎,零基礎簡易便捷的配置多種復雜規則,實時高效管控用戶異常行為。

架構介紹

poYBAGJnq1iAOsKnAAF2zz3IP2E128.jpg

快速啟動

  1. 本項目依賴redis, mysql, mongodb,因此需準備環境并更改配置項
    # 為了簡單可以使用docker安裝
    # docker安裝文檔地址(以ubuntu為例): https://docs.docker.com/install/linux/docker-ce/ubuntu/
    mongo: docker run -d --name mongo -v $HOME/docker_volumes/mongodb:/data/db  -p 27017:27017 mongo:latest
    mysql: docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -v $HOME/docker_volumes/mysql:/var/lib/mysql -v $HOME/docker_volumes/conf/mysql:/etc/mysql/conf.d -p 3306:3306 mysql:5.6
    redis: docker run -d --name redis -p 6379:6379  -v $HOME/docker_volumes/redis:/var/lib/redis redis:latest
  1. 在mysql中創建risk_control庫
    docker exec -it mysql mysql -h 127.0.0.1 -u root -p # 后續需輸入密碼 若以上述方式安裝mysql,密碼為root.
    CREATE DATABASE risk_control CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 創建數據庫時指定編碼格式,規避亂碼問題(注意: 此編碼格式在mysql低版本上可能有兼容性問題)
  1. 安裝所需依賴,本項目基于python2.7進行開發,可運行pip install -r requirements.txt安裝依賴包
  2. 初始化django運行所需的表并創建賬戶,并可以預生成一些數據(可選)
    # 在www目錄下
    python manage.py makemigrations && python manage.py migrate
    # 創建管理員賬戶  此處詳見  其它操作--增加用戶
    python manage.py createsuperuser # 后續 依次輸入用戶名、密碼、郵箱 即可創建一個管理員賬號
    # 如果希望對系統有一個直觀的感受,可以使用如下指令來預注入一些數據
    python manage.py init_risk_data
  1. 啟動服務
    # 在aswan下以nohup的方式啟動服務進程、管理后臺、攔截日志消費進程
    bash start.sh

后臺介紹

  1. 名單管理

    為名單型策略提供基礎的數據管理功能。

    名單數據的維度包括:用戶ID、IP、設備號、支付賬號、手機號。后續也可以根據自己的需求擴充其他的維度。

    名單包含三個類型:黑、白、灰名單

    名單必須屬于某個項目(用于確定名單的范圍),可以在名單管理-名單項目管理中添加項目。

    poYBAGJnq1mAGP3zAAGKQ3E4Ekg779.png

  2. 名單型策略

    描述符為**{參數名:單選,假設是“用戶ID”} {操作碼:在/不在} {XX項目:單選,可選全局} 的 {維度:單選}{方向:黑/白/灰名單}**

    示例:用戶ID 在 初始項目 的 用戶黑名單 中

    pYYBAGJnq1uAJkFjAAG8Lcd1onA560.png

  3. 布爾型策略

    不傳閾值的布爾型,描述符為?{參數名:單選,假設是"賬號ID"} {操作碼:是/不是} {內置函數:異常用戶}?示例:賬號ID是異常用戶

    傳閾值的布爾型,描述符為?{參數名:單選,假設是"賬號ID"} {操作碼:大于/小于/等于/不等于} {內置函數:歷史登錄次數} {閾值:170}?示例:賬號ID歷史登錄次數大于100

    pYYBAGJnq12AAILwAAGeuxM9cGw787.png

    內置函數是什么?就是自定義的一些邏輯判斷函數,只需要滿足要求返回布爾值即可。比如注冊時間是否在某個范圍以內,當前設備是否是常用設備。

  4. 時段頻控型策略

    描述符為?同一 {計數維度:單選,假設是“設備”} 在 {時段:時間跨度} 內限制 {閾值:整數N} 次 某動作?示例:同一設備一天內限制操作10次. 可是我怎么知道當前已經有多少次呢?這就需要上報,上報后將計數 詳見第9條?數據源管理

    poYBAGJnq1-AenyMAAGRodyrxw8192.png

  5. 限用戶數型策略

    描述符為?同一 {計數維度:單選,假設是“設備”} 在 {時段:時間跨度} 內限制 {閾值:整數N} 個用戶

    示例:同一設備當天限10個用戶 此策略同樣需要上報的數據,且由于與用戶相關,因此上報數據中必須包含user_id字段(在數據源中需配置) 詳見第9條?數據源管理

    pYYBAGJnq2CALTSdAAGUI3c9OYA699.png

  6. 規則管理

    管控原子:命中某條策略后的管控動作,比如攔截... 把上面2--5中所述的策略原子按照優先級組合起來,由上向下執行,直到命中某條策略,則返回對應策略的管控原子。此模塊更多是重交互,完成策略的配置、組合、權重等等

    pYYBAGJnq2KAbxu9AAJ27QQQJQY362.png

  7. 日志管理

    所有命中策略的日志均在此展示,也會包含審計相關的日志,下一期會基于此日志,開放攔截溯源功能

    pYYBAGJnq2KAbxu9AAJ27QQQJQY362.png

    poYBAGJnq2WATJEOAAMWOgjTWRM786.png

  8. 權限配置

    供權限設置使用,精確限定某個用戶能看哪些頁面的數據。 詳見 其它 -- 權限管理。

  9. 數據源配置

    示例策略:同一設備一天內限制登錄1000次 那么每次登陸就需要上報一條數據,系統會分類計數,并分類存儲。 存儲的名字叫啥?就是此處要配置的數據源。對于此策略,只需要配置數據源,命名為login_uid, 字段包含uid, uid類型是string。然后程序就能根據uid為維度計數,并自動計算指定時間窗口內是否超出指定閾值。

    重要:由于邏輯必然依賴時間信息,為通用且必需字段,timestamp為默認隱含字段,類型是時間戳(精確到秒,整數)

    poYBAGJnq2eADpuCAAEnnVFA2HU969.png

調用樣例

  1. 調用查詢服務

    假設存在id為1的規則,則可以通過如下方式查詢是否命中策略

curl 127.0.0.1:50000/query/ -X POST -d '{"rule_id": "1", "user_id": "10000"}' -H "Content-Type:application/json"
  1. 調用上報服務

    假設存在名稱為test的數據源, 且數據源含有的數據是: {"ip": "string", "user_id": "string", "uid": "string"}

curl 127.0.0.1:50000/report/ -X POST -d '{"source": "test", "user_id": "10000", "ip": "127.0.0.1", "uid": "abcabc112333222", "timestamp": 1559049606}' -H "Content-Type:application/json"
  1. 關于服務拆分

    開源樣例中,為了簡化安裝部署,查詢和上報揉進了一個服務。實際場景中,顯然讀寫應該分離。

    1.可以直接此方式部署2份,域名不同,一份用于查詢(上報接口不被訪問),一份用于上報(查詢接口不被訪問),流量分發在nginx層完成

    2.risk_server.py中修改配置URL_2_HANDLERS,選擇您需要的服務接口部署

內置函數的擴展

  1. 不帶閾值的內置函數擴展

    是否異常用戶內置函數為例
    代碼見 aswan/buildin_funcs/sample.py 中的 is_abnormal 方法

  2. 帶閾值的內置函數布爾型策略擴展

    歷史登錄次數內置函數為例
    代碼見 aswan/buildin_funcs/sample.py 中的 user_login_count 方法
    注意:閾值計算不包含在內置函數中進行,控制流詳見 aswan/buildin_funcs/base.py

其它

增加用戶

考慮到企業用戶大多數為域賬戶登錄,因此推薦使用LDAP認證模塊直接集成。但考慮到大家的場景不一樣,因此也可以手動增加用戶,樣例代碼如下:

# coding=utf-8
from django.contrib.auth.models import User

username = 'username'
password = 'password'
email = 'email@momo.com'
first_name = '測'
last_name = '試'
# 普通用戶
User.objects.create_user(username=username, password=password, email=email, first_name=first_name, last_name=last_name)
# 管理員賬戶
User.objects.create_superuser(username=username, password=password, email=email, first_name=first_name, last_name=last_name)

添加完成后,讓用戶登錄,然后管理員配置權限即可。

權限管理

目前的權限模型包含如下元素,可在對應的頁面進行配置。

元素名稱 元素含義 配置方式
uri 風控管理后臺的一個獨立uri 開發時自動產生 此處uri為相對路徑,例如: /permissions/groups/
uri組 多個相互關聯的uri可以被放置到一個uri組中 /permissions/uri_groups/ -
權限組 多個uri組可以被分配到一個權限組中 /permissions/groups/ -
用戶 用戶即為獨立的個人/員工 /permissions/users/ 1. 本系統在界面上不提供添加用戶的功能;2. 用戶可以被分配到某個權限組中,也可以直接配置uri組
管理員 即為系統的擁有者,默認擁有所有權限 手動配置 -

具體圖示如下:

poYBAGJnq2iAROGvAAFtwRE9gmc956.png

pYYBAGJnq2qAcxZ_AAEUuEa8hG4575.png

poYBAGJnq2uANenzAAFLN-WFIfU845.png

配置相關

目前Django部分的配置均存放于 www/settings 目錄,非Django部分的配置均位于 config 目錄下。

為了在不同環境加載不同的配置,我們使用了RISK_ENV這個環境變量,系統在運行時會自動通過這個環境變量的值加載對應的配置文件。

為了方便項目啟動,在未設置這個值時,系統默認會加載 develop 環境的配置。而在執行測試時(python manage.py test)時,RISK_ENV的值必須是 test 。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費