有個問題:一般透過url參數 查詢資料的時候,是透過id 來查詢資料
例如要查詢一個訂單詳情,那麼這個id 就是訂單詳情表的id
"http://localhost/index/order/detail/id/3.html"
那我是不是可以改變這個id 就能查詢到別人的訂單詳情了呢?
我做訂單詳情的時候是不是還要判斷是否這個客戶的訂單?每次都判斷會不會很麻煩?
還是使用訂單號碼查詢?
给我你的怀抱2017-05-16 13:03:46
當有個id被傳到後台後 資料庫查詢的時候並不是只查詢id=id這一個條件
會帶上很多條件的,比如用戶登錄的uid , 或者session中存的用戶帳號什麼的
當然你最好做一些sql防注入的東西,人家如果用id=1";這樣的形式訪問,你的sql就很危險。
仅有的幸福2017-05-16 13:03:46
權限的問題應該是後端判斷吧,按照道理應該是前端傳給伺服器一個訂單id(你這裡是url傳參),然後後端會去查表,然後回傳資料給前端。對於權限這個問題,後端可以在收到前端的介面呼叫資訊之後,先判斷使用者是否有呼叫這個介面的權限,如果有(且邏輯資料合理等),回傳數據,如果沒有,就直接回傳沒有權限訪問,這樣去控制。
PHPz2017-05-16 13:03:46
查看訂單詳情至少需要兩個參數,訂單id及目前用戶id。後端首先應該先判斷是否正確接收到這兩個參數,然後根據訂單id查找到相應的訂單信息,再將當前用戶id與訂單信息中的下單用戶id匹配,不一致則提示無權訪問。