国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范

這篇具有很好參考價值的文章主要介紹了Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

書籍購買地址:京東 當(dāng)當(dāng) 天貓

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

API接口設(shè)計系列文章

  1. Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范

  2. Android開發(fā)規(guī)范:API接口通用設(shè)計規(guī)范

文章目錄

    • 防篡改
  • 防重放

  • Https

APP的數(shù)據(jù)來源就是API接口,所以API接口對于APP的意義來說不言而喻。

設(shè)計API接口最重要的考慮點就是安全機(jī)制。

我們這邊將從三個方面來考慮怎么設(shè)計一個安全的API接口。

防篡改


防篡改就是防止請求的URL參數(shù)值發(fā)送至服務(wù)器的時候被改動。

普通的API接口格式是xxx.html?key1=xx?key2=xx?key3=xx。

我們采用 sign 簽名方式保證數(shù)據(jù)傳輸?shù)恼_性。

我們的app一般會在公司的后臺申請一個appKey和appSecret,這兩個是一一對應(yīng)的。

appKey我們會作為一個參數(shù)寫在URL中,發(fā)送至服務(wù)器。

appSecret則用于參與生成sign的計算。

sign算法需要足夠復(fù)雜,最好有一套自己的簽名算法,不是外界公開的;

一般采用安全散列算法實現(xiàn),比如SHA1。

sign也要作為一個參數(shù)添加到URL中,和appKey一并發(fā)送至服務(wù)器。

如:xxx.html?appKey=xx?sign=xx?key1=xx?key2=xx?key3=xx。

服務(wù)器收到請求后,會通過appKey查到對應(yīng)的appSecret,然后通過同樣的散列算法,得到一個sign,然后比較一下兩個sign是否相等。如果不相等則數(shù)據(jù)找到篡改,廢棄這條請求。

另外,關(guān)于appSecret有兩種使用方式:

  1. appSecret直接寫死在客戶端代碼中,這樣直接獲取調(diào)用即可。

  2. appSecret還可以通過一個專門的接口getSign從后臺獲取。

這種情況需要用戶首先登錄成功后,服務(wù)器返回一個accessToken,然后調(diào)用appSecret接口需要帶上這個accessToken參數(shù)。

防重放


解決了數(shù)據(jù)被篡改的問題,還有一個問題就是如果一條正常的請求數(shù)據(jù)被人獲取到了,從而進(jìn)行二次甚至多次請求怎么辦?

我們這邊可以使用nonce + timestamp的解決方案。

  1. nonce

nonce就是一個隨機(jī)數(shù),由客戶端生成,每次請求將隨機(jī)數(shù)作為一個參數(shù)發(fā)送給服務(wù)器。

服務(wù)器會在數(shù)據(jù)庫里查詢是否有這個nonce,如果沒有則是一條新的請求,進(jìn)行正常處理;

如果能查到已經(jīng)存在這個nonce,則廢棄這條請求。

nonce可以通過UUID.randomUUID().toString()來生成。

有個問題就是這個nonce在數(shù)據(jù)庫中隨著請求量的增大而導(dǎo)致數(shù)據(jù)量會越來越大。

解決這個問題我們可以采用timestamp時間戳的方式。

2. timestamp

時間戳是服務(wù)器給URL請求設(shè)定的一個有限時間范圍起點。

比如服務(wù)器認(rèn)為客戶端發(fā)送帶過來的timestamp與服務(wù)器的當(dāng)前時間戳在10分鐘之內(nèi),則認(rèn)為這條請求是有效的。超過了10分鐘則廢棄這條請求。

如果10分鐘內(nèi)的請求,需要在數(shù)據(jù)庫中查詢nonce是否有記錄,如果有記錄這廢棄這條請求;

如果沒有記錄,則記錄這個nonce,并且將超過10分鐘的nonce全部刪除。

關(guān)于這個timestamp獲取的問題,同樣需要從服務(wù)器獲取,不然客戶端怎么知道服務(wù)器的起點計算時間呢?

先自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)初中級Android工程師,想要提升技能,往往是自己摸索成長或者是報班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則近萬的學(xué)費,著實壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《Android移動開發(fā)全套學(xué)習(xí)資料》送給大家,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負(fù)擔(dān)。

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻

如果你覺得這些內(nèi)容對你有幫助,可以掃碼領(lǐng)取?。。?!

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范
最后是今天給大家分享的一些獨家干貨:

【Android開發(fā)核心知識點筆記】

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

【Android思維腦圖(技能樹)】

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

【Android核心高級技術(shù)PDF文檔,BAT大廠面試真題解析】

Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范,程序員,android,安全,設(shè)計規(guī)范

【Android高級架構(gòu)視頻學(xué)習(xí)資源】
《Android學(xué)習(xí)筆記總結(jié)+移動架構(gòu)視頻+大廠面試真題+項目實戰(zhàn)源碼》,點擊傳送門,即可免費領(lǐng)?。?/strong>文章來源地址http://www.zghlxwxcb.cn/news/detail-845656.html

[外鏈圖片轉(zhuǎn)存中…(img-1dNMowQE-1711231877857)]

【Android高級架構(gòu)視頻學(xué)習(xí)資源】
《Android學(xué)習(xí)筆記總結(jié)+移動架構(gòu)視頻+大廠面試真題+項目實戰(zhàn)源碼》,點擊傳送門,即可免費領(lǐng)??!

到了這里,關(guān)于Android開發(fā)規(guī)范:API接口安全設(shè)計規(guī)范的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android相機(jī)開發(fā)實戰(zhàn),Android程序員必看

    Android相機(jī)開發(fā)實戰(zhàn),Android程序員必看

    由于需求不同,所以選擇的方案固然也不同,至于第二種調(diào)用系統(tǒng)相機(jī),這里就不過多講解了,使用Intent對象設(shè)置一個Action動作即可,跳轉(zhuǎn)時使用startActivityForResult,然后在onActivityResult處理相關(guān)數(shù)據(jù)便可,關(guān)鍵代碼: intent.setAction(“android.media.action.STILL_IMAGE_CAMERA”); 至于使用

    2024年04月15日
    瀏覽(29)
  • 區(qū)塊鏈錢包開發(fā)(Android篇),Android程序員必會

    區(qū)塊鏈錢包開發(fā)(Android篇),Android程序員必會

    布隆過濾器(Bloom Filter):過濾掉那些不包含有目標(biāo)地址的交易信息,這一步能避免掉大量不相關(guān)的數(shù)據(jù)下載。 創(chuàng)建區(qū)塊鏈 //創(chuàng)建區(qū)塊鏈文件 File blockChainFile = new File(getDir(“blockstore”, Context.MODE_PRIVATE), “blockchain”); //創(chuàng)建SPVBlockStore,管理區(qū)塊數(shù)據(jù) blockStore = new SPVBlockStore(Co

    2024年04月09日
    瀏覽(31)
  • Android App開發(fā)基礎(chǔ)(3)——App的設(shè)計規(guī)范

    Android App開發(fā)基礎(chǔ)(3)——App的設(shè)計規(guī)范

    本節(jié)介紹了App工程的源碼設(shè)計規(guī)范,首先App將看得見的界面設(shè)計與看不見的代碼邏輯區(qū)分開,然后利用XML標(biāo)記描繪應(yīng)用界面,同時使用Java代碼書寫程序邏輯,從而形成App前后端分離的設(shè)計規(guī)約,有利于提高App集成的靈活性。 手機(jī)的功能越來越強(qiáng)大,某種意義上相當(dāng)于微型電

    2024年02月19日
    瀏覽(22)
  • API接口安全設(shè)計

    API接口安全設(shè)計

    HTTP接口是互聯(lián)網(wǎng)各系統(tǒng)之間對接的重要方式之一,使用HTTP接口開發(fā)和調(diào)用都很方便,也是被大量采用的方式,它可以讓不同系統(tǒng)之間實現(xiàn)數(shù)據(jù)的交換和共享。 由于HTTP接口開放在互聯(lián)網(wǎng)上,所以我們就需要有一定的安全措施來保證接口安全。 個人覺得安全措施大體來看主要

    2024年02月04日
    瀏覽(21)
  • Web開發(fā)模式、API接口、restful規(guī)范、序列化和反序列化、drf安裝和快速使用、路由轉(zhuǎn)換器(復(fù)習(xí))

    Web開發(fā)模式、API接口、restful規(guī)范、序列化和反序列化、drf安裝和快速使用、路由轉(zhuǎn)換器(復(fù)習(xí))

    一 Web開發(fā)模式 1. 前后端混合開發(fā)模式 2.前后端分離開發(fā)模式 二 API接口 三 restful規(guī)范 四 序列化和反序列化 五 drf安裝和快速使用

    2024年02月10日
    瀏覽(22)
  • API 接口怎樣設(shè)計才安全?

    設(shè)計安全的API接口是確保應(yīng)用程序和數(shù)據(jù)安全的重要方面之一。下面是一些設(shè)計安全的API接口的常見實踐: 使用適當(dāng)?shù)纳矸蒡炞C機(jī)制,如OAuth、JWT或基本身份驗證,以確保只有經(jīng)過身份驗證的用戶可以訪問API。 實施授權(quán)機(jī)制,例如使用令牌或角色/權(quán)限來限制用戶對資源的訪

    2024年02月03日
    瀏覽(35)
  • 如何設(shè)計一個安全的API接口詳解

    如何設(shè)計一個安全的API接口詳解

    前言 在日常開發(fā)中,總會接觸到各種接口。前后端數(shù)據(jù)傳輸接口,第三方業(yè)務(wù)平臺接口。一個平臺的前后端數(shù)據(jù)傳輸接口一般都會在內(nèi)網(wǎng)環(huán)境下通信,而且會使用安全框架,所以安全性可以得到很好的保護(hù)。這篇文章重點討論一下提供給第三方平臺的業(yè)務(wù)接口應(yīng)當(dāng)如何設(shè)計?

    2024年04月13日
    瀏覽(24)
  • API接口的安全設(shè)計驗證:ticket,簽名,時間戳

    API接口的安全設(shè)計驗證:ticket,簽名,時間戳

    概述 與前端對接的API接口,如果被第三方抓包并進(jìn)行惡意篡改參數(shù),可能會導(dǎo)致數(shù)據(jù)泄露,甚至?xí)淮鄹臄?shù)據(jù),我主要圍繞時間戳,token,簽名三個部分來保證API接口的安全性 1.用戶成功登陸站點后,服務(wù)器會返回一個token,用戶的任何操作都必須帶了這個參數(shù),可以將這個

    2024年04月27日
    瀏覽(24)
  • API接口的安全設(shè)計驗證:ticket,簽名,時間戳(1)

    API接口的安全設(shè)計驗證:ticket,簽名,時間戳(1)

    result.put(“success”,false); result.put(“ticket”,“”); result.put(“code”,“999”); result.put(“message”,“用戶名和密碼不匹配”); return result; } if (personEntity.getLoginName().equals(username) personEntity.getPassword().equals(password)){ String ticket = UUID.randomUUID().toString(); ticket = ticket.replace(“-”,“”);

    2024年04月27日
    瀏覽(36)
  • Android實現(xiàn)-心知天氣API接口開發(fā)(天氣預(yù)報app)

    Android實現(xiàn)-心知天氣API接口開發(fā)(天氣預(yù)報app)

    自己開發(fā)app之心知天氣APP程序代碼粘貼即可用。完整代碼附最后。 第一步:去知心天氣注冊開發(fā)者賬號查看自己的token。注冊好登錄進(jìn)去--控制臺---免費版--秘鑰。這里的秘鑰就是自己的token。(有興趣的可以看開發(fā)文檔,這里就不多介紹了) ?第二步,下載素材包。點擊文檔

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包