PHP介面開發加密技術執行個體原理與例子

來源:互聯網
上載者:User

方法一,固定一個值,如md5('www.111cn.net') 然後把產生的字元在url或post傳遞時進行驗證


方法二,稍微複雜點雙方約定好產生的格式


下面例子www.111cn.net簡單講解PHP介面開發加密技術:

如app要請求使用者列表,api是“index.php?module=user&action=list”

app產生token = md5sum (‘user’.’2012-11-28′.’www.111cn.net’.list) = 880fed4ca2aabd20ae9a5dd774711de2;

則實際發起請求為 “index.php?module=user&action=list&token=880fed4ca2aabd20ae9a5dd774711de2”

伺服器端接到請求用同樣方法計算token:

$module = $_GET['module'];$action = $_GET['action'];$token = md5sum($module.date('Y-m-d',time()).'www.111cn.net'.$action);if($token != $_GET['token']){    alarm('access deny');    exit();}

這樣就判斷了請求url參數是合法的,允許訪問。關鍵是介面token參數的構造。

還有一種方法用到cookie,這種情況則不適用於讀取介面資料的應用情境,適合在瀏覽器中提供者。

1.要求標頭裡帶使用者username和password,到伺服器端做驗證,通過才繼續下邊商務邏輯。

優點:防止了伺服器端api被隨意調用。
缺點:每次都互動使用者名和密碼,互動量大,且密碼明文傳輸不安全。

2.第一次請求,要求username和password,驗證通過,種cookie到用戶端,app儲存cookie值。

每次請求帶上cookie。

點評:和pc上瀏覽器認證的原理一樣了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.