用PHP做伺服器介面用戶端用http協議POST訪問安全性一般怎麼做

來源:互聯網
上載者:User
具體來說,現在用的是iPhone進行串連,但這不重要

我的問題是,如果不做安全相關處理的話,一些可能改變資料庫的操作可能會遭遇垃圾資料提交什麼的,畢竟要找到這些資訊只要找個http包就可以了

系統無使用者登入

新手問題(從來沒做過服務端開發),如果可以,給幾個主流方法的連結,多謝

回複內容:

具體來說,現在用的是iPhone進行串連,但這不重要

我的問題是,如果不做安全相關處理的話,一些可能改變資料庫的操作可能會遭遇垃圾資料提交什麼的,畢竟要找到這些資訊只要找個http包就可以了

系統無使用者登入

新手問題(從來沒做過服務端開發),如果可以,給幾個主流方法的連結,多謝

這個必須要做,隱藏在app裡的介面如果沒有認證,現在hack app的人這麼多,很快就會被人發現,用來直接操作資料庫。

直觀總結方法二:

1.要求標頭裡帶使用者username和password,到伺服器端做驗證,通過才繼續下邊商務邏輯。
有點:防止了伺服器端api被隨意調用。
缺點:每次都互動使用者名和密碼,互動量大,且密碼明文傳輸不安全。

2.第一次請求,要求username和password,驗證通過,種cookie到用戶端,app儲存cookie值。
每次請求帶上cookie。
點評:和pc上瀏覽器認證的原理一樣了。

以上兩點,只有註冊使用者,才能有權訪問商務邏輯,而app有大量的不需要註冊資料api

3.制定一個token建置規則,按某些伺服器端和用戶端都擁有的共同屬性產生一個隨機串,用戶端產生這個串,伺服器收到請求也校正這個串。
缺點:隨機串建置規則要保密。
比如:一個使用php架構的工程,架構每次互動都會有 module和action兩個參數做路由,這樣的話,我就可以用下邊這個規則來產生token

app要請求使用者列表,api是“index.php?module=user&action=list”
app產生token = md5sum ('user'.'2012-11-28'.'#$@%!'.list) = 880fed4ca2aabd20ae9a5dd774711de2;
實際發起請求為 “index.php?module=user&action=list&token=880fed4ca2aabd20ae9a5dd774711de2”

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

先提這三個,都在項目中用過。

垃圾資料的提交,永遠沒法完全屏蔽。可以想辦法提高上傳垃圾資料的難度。

參照防禦CSRF攻擊的方法,在使用者提交資料前要請求一個token(比如一個隨機字串+時間戳記的md5值),然後使用者提交資料的時候要同時提交這個token,並且進行驗證,驗證成功才能寫入資料庫。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.