2019獨角獸企業重金招聘Python工程師標準>>>
3.1 用戶驗證方案
3.1.1?使用HTTPS協議
HTTPS協議是“HTTP協議”和“SSL/TLS”的組合。SSL(Secure Sockets Layer),即安全套接層,是為了解決因HTTP協議是明文而導致傳輸內容會被偷窺和篡改的問題。SSL協議標準化后名稱改為TLS(Transport Layer Security)協議,即傳輸層安全協議。
3.1.2?基本的用戶登錄方案
3.2 App通信安全
3.2.1?URL簽名
3.2.2?AES對稱加密
- 對稱加密的原理
采用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
- AES算法加密App后臺返回的token數據
- AES算法加密請求過程中所有的敏感數據
3.2.3?更進一步的通信安全
- 使用自定義的通信協議傳輸敏感信息。
- 使用RSA(非對稱加密算法)加強通信的安全性。
- 使用梆梆加固、愛加密等第三方工具對App進行加密。
- 涉及到特別敏感的信息(比如支付密碼),每次都需要用戶輸入支付密碼確認,支付密碼永遠不在App端保存。
- 使用自主開發的輸入控件輸入敏感信息。
3.3 短信服務
根據價格、短信的到達率和延時情況選擇合適的短信平臺。
3.4 處理表情的一些技巧
- 表情在MySQL的存儲
表情UTF-8編碼有的是3個字節,有的是4個字節,所以一般的UTF編碼(長度只有3個字節)是沒法存儲表情數據的。解決方案:把MySQL升級到5.5以上,然后把字符編碼改為utf8mb4_general_ci;如果在不升級的情況下,將含有表情數據的字段類型改為blob。
3.5 高效更新數據
- 內容的推拉
- 數據增量更新策略
3.6 圖片處理
3.7 視頻處理
3.8 獲取APK和IPA文件里的資源
3.9 文件系統
3.10?ELK日志分析平臺
- ElasticSearch:一個基于Lucene的分布式搜索服務,用來提供存儲搜索。
- Logstash:收集處理解析日志。
- Kibana:一個開源和免費的工具,其可以匯總、分析和搜索重要數據日志并提供友好的Web界面,用來報警統計展示。
?
3.11?Docker構建一致的開發環境
Docker是一個用于統一開發和部署的輕量級容器,讓開發者打包其應用及相關的依賴包到一個可移植的容器,發布該容器到其他機器,就能很容易地實現應用的部署。
- Docker原理
傳統的虛擬化技術體系在服務器操作系統上安裝了多個虛擬機,每個虛擬機上通過虛擬化技術實現了一個虛擬操作系統,在這個虛擬操作系統上運行應用。
Docker的虛擬化技術體系在服務器的操作系統上有一個Docker服務在運行,在這個Docker服務上運行著多個Docker容器,每個Docker容器中運行著應用,容器與容器間的應用是相互隔離、相互獨立的,但通過Docker服務占用著服務器的硬件和網絡資源。
?