《App后臺開發運維與架構實踐》第3章 App后臺核心技術

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

3.1 用戶驗證方案

3.1.1?使用HTTPS協議

HTTPS協議是“HTTP協議”和“SSL/TLS”的組合。SSL(Secure Sockets Layer),即安全套接層,是為了解決因HTTP協議是明文而導致傳輸內容會被偷窺和篡改的問題。SSL協議標準化后名稱改為TLS(Transport Layer Security)協議,即傳輸層安全協議

573de64d71117be43121947221cb32bb75d.jpg

3.1.2?基本的用戶登錄方案

bfa47550ef845069644a8dd822e7cf5540b.jpg

3.2 App通信安全

3.2.1?URL簽名

b335d7b21542f90b5e182d4a593d2c4e97a.jpg

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 高效更新數據

  • 內容的推拉

86cad8c8b5aad886739bc594d14b7923807.jpg

  • 數據增量更新策略

3.6 圖片處理

3.7 視頻處理

3.8 獲取APK和IPA文件里的資源

3.9 文件系統

3.10?ELK日志分析平臺

  • ElasticSearch:一個基于Lucene的分布式搜索服務,用來提供存儲搜索。
  • Logstash:收集處理解析日志。
  • Kibana:一個開源和免費的工具,其可以匯總、分析和搜索重要數據日志并提供友好的Web界面,用來報警統計展示。

2e58bad07ef1ec19ea42fff62cfcc6e2822.jpg?

3.11?Docker構建一致的開發環境

Docker是一個用于統一開發和部署的輕量級容器,讓開發者打包其應用及相關的依賴包到一個可移植的容器,發布該容器到其他機器,就能很容易地實現應用的部署。

  • Docker原理

傳統的虛擬化技術體系在服務器操作系統上安裝了多個虛擬機,每個虛擬機上通過虛擬化技術實現了一個虛擬操作系統,在這個虛擬操作系統上運行應用。

6ede2e82a7c74386824ef55560d38893efe.jpg

Docker的虛擬化技術體系在服務器的操作系統上有一個Docker服務在運行,在這個Docker服務上運行著多個Docker容器,每個Docker容器中運行著應用,容器與容器間的應用是相互隔離、相互獨立的,但通過Docker服務占用著服務器的硬件和網絡資源。

7fcecf324ab2c65d33cc5bcf86c4b868f67.jpg

?

轉載于:https://my.oschina.net/lienson/blog/3035325

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IntelliJ IDEA 配置 JDK

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 提前安裝jdk,配置環境變量 一、配置jdk 1、依次點開File -->Project Structure,點擊左側標簽頁&#xff0c…

xml編輯無提示?這么破!

在學習testng這個單元測試框架時,如果咱們碰到了編輯測試套件xml,不提示的情況(有提示方便咱們學習,并且testng的測試套件定義必須按照他的dtd文件約束來),咱們可以按照下面的步驟去解決這個問題。 1.檢查t…

“云棲直播”升級為“公開課”

直播平臺是面向廣大開發者的視頻學習平臺,幫助廣大開發者學習最新技術,了解最新阿里云產品以及最新技術發展趨勢,幫助開發者們不斷學習與成長。截止到2019年3月,直播共進行800余場,觀看人次100萬。  社區將對“云棲直…

遭銀行賬號詐騙最快最有效自救法

銀行卡或賬戶詐騙案件層出不窮,當匯錯款時該怎么做,切記以下方法: 一、當匯錯款或被騙匯款后,最快最有效的緊急自救法:當你把自己的錢不小心匯到了不該匯的人卡上,或者被騙子忽悠而把錢匯給了騙子&#xf…

SQL 判斷非空 NULL :IFNUL( ) 、COALESCE( ) 、ISNULL( ) 、NVL( )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. mysql 支持: IFNULL()、COALESCE() 如 IFNULL(UnitsOnOrder, 0) 或者 CO…

navigator.geolocation的應用 - 將定位信息顯示在百度地圖上

在學習navigator.geolocation的時候,有一個實例是獲取坐標后顯示在谷歌地圖上。眾所周知,谷歌地圖國內并不能直接訪問,得用特殊手段,那我要測試的時候還要開著梯子挺麻煩的,想給別人用也得那個人能訪問谷歌地圖先。 地…

centos7 mysql數據庫安裝和配置

2019獨角獸企業重金招聘Python工程師標準>>> 一、系統環境 yum update升級以后的系統版本為 [rootyl-web yl]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 二、mysql安裝 一般網上給出的資料都是 #yum install mysql #yum install mysql-serve…

5種聰明工作法

1、每天最多做三件事 請拿出你落落長的待辦清單,圈出最重要的一~三件事,然后給自己一天的時間,卯足全力解決它! 你不需要因為還有很多事要做而焦慮,只需要專注今天、當下、以及最重要的問題。 《與成功有約》作者史蒂芬.柯維(Step…

【Quartz】Quartz概述及入門實例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Quartz 在開源任務調度框架中的翹首,它提供了強大任務調度機制,難能可貴的是它同時保持了使用的簡單性。Quartz 允…

python中del語句

有一種方式可以從列表按照給定的索引而不是值來移除一個元素: 那就是 del 語句。 它不同于會返回一個值的 pop() 方法。 del 語句也可以用來從列表中移除切片或者清空整個python列表(我們之前用過的方式是將一個空列表賦值給指定的切片)。 例如: >>…

偷時間的孩子

從事臨床心理工作已有十三、四年(至一九九五年),真的有很多話想跟父母們敞開心扉的談談。 忙碌的現代社會,讓我窺探到了許許多多的杰出角色,他們偷取家庭時間去換取自己的功成名就,他們的心隨著公司的企劃案四處流浪,孩…

關于openstack 專業博主地址.后續更新

首先官方文檔要放的https://docs.openstack.org/ 關于導入鏡像方面說的很詳細的.https://www.cnblogs.com/liawne/p/9322221.html 每天5分鐘系列,有docker openstack等,而且還出書了.https://www.cnblogs.com/CloudMan6/p/5384923.html 轉載于:https://www.cnblogs.com/lovesKe…

Java第一章java語言的概述

一、java語言的概述: 1.1dos命令 常用的dos命令: dir:列出當前目錄下的文件以及文件夾 md:創建目錄 rd:刪除目錄 cd:進入指定目錄 cd..:退回到上一級目錄 cd\:退回到根目錄 del&…

【Quartz】深入Job、JobDetail、JobDataMap、Trigger

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Quartz API核心接口有: Scheduler – 與scheduler交互的主要API;Job – 你通過scheduler執行任務,你…

Apache Accumulo 1.9.3 發布,高性能 K/V 存儲方案

Apache Accumulo 1.9.3 發布了,Apache Accumulo 是一個可靠的、可伸縮的、高性能的排序分布式的 Key-Value 存儲解決方案,基于單元訪問控制以及可定制的服務器端處理。使用 Google BigTable 設計思路,基于 Apache Hadoop、Zookeeper 和 Thrif…

圖形界面上機作業

1、 制作一個如圖所示的界面(使用FlowLayout布局),不要求實現功能。 2、設計一個用標簽、文本行與按鈕來登錄的界面(用GridLayout布局方式)。如圖所示。 轉載于:https://www.cnblogs.com/quan-2723365710/p/10881691.h…

【Quartz】Spring3.2.9 + Quqrtz2.2.1 實現定時實例

一、工程創建 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、新建一個工程,導入相應的包Spring3.2.9Quqrtz2.2.1commons-logging 集成起來比較簡單,對線程無需任何理解&a…

第七次發博不知道用什么標題好

一、this關鍵字,想起之前總是搞不懂this.name是where.name,嗯!第二個name就是形參name,所以這句話就是講形參name的值傳給成員變量name private void setName(String name ){ this.namename; } 二、構造方法:1.沒有返回值 2.名稱要與本類名稱相同&#x…

Django框架之Filters(過濾器)、母版的使用

在Django的模板語言中,通過使用 過濾器 來改變變量的顯示。 過濾器的語法: {{ value|filter_name:參數 }} 使用管道符"|"來應用過濾器。 注意事項: 過濾器支持“鏈式”操作。即一個過濾器的輸出作為另一個過濾器的輸入。過濾器可以…

不花錢就補足營養的8妙招

如今,人們越來越注重保健,為了補充營養,一些人不惜花重金買各種名貴保健品食用。其實,人體所需要的很多營養素就在我們身邊,它們既不昂貴,也不稀缺,只需我們信手拈來。 葉酸 每人每日應補充…