鍍金池/ 問答/HTML5  Java  PHP/ HTML5頁面與API接口交互,有什么好的安全方案嗎?

HTML5頁面與API接口交互,有什么好的安全方案嗎?

我的一個想法是用后端語言PHP搭建個http服務(wù),html5把要傳遞的參數(shù)提交給php,php加密后傳遞給api,返回的數(shù)據(jù)解密后返回給html5,中間多了一層中轉(zhuǎn),主要是為了參數(shù)加密,簡單的參數(shù)簽名html5根本做不了

回答
編輯回答
失心人

h5 就別想怎么加密參數(shù)了,現(xiàn)在應(yīng)該還沒有一個完整的解決方案。如果有的話,請留言讓我也學(xué)習(xí)一下。
就你的說法,我舉個栗子:

# 正常
   參數(shù)
h5 ===> api ==> 返回數(shù)據(jù)
# 樓樓的想法
    參數(shù)          加密
h5 ===> php中間層 ===> api ==> 返回數(shù)據(jù)
# 在搗亂的人請求你的接口時,根本不知道有 php 中間層,他們請求你的中間層返回數(shù)據(jù)
    參數(shù)     
h5 ===> php中間層  ==> 返回數(shù)據(jù)

你想一下:你既然在 h5 傳參數(shù)到 php 中間層加密,然后再通過請求 api,那么,想亂來的人,就可以直接認為你的 php 中間層是 api 了,我請求 php 中間層就可以得到數(shù)據(jù)了
除非你能像 app 那樣,看不到源碼,自己寫一套加密簽名,別人根本不知道你用什么加密,不知道怎么傳遞參數(shù)。
而 h5 不一樣,我 f12 大法,一看就知道你用什么簽名方式,總是可以偽造。而你一點辦法都沒有。
正確的做法:

  1. 就像你說的,做一個 sign 校驗參數(shù)
  2. 重要的接口需要登錄才能訪問。
  3. 節(jié)流限制訪問次數(shù)
2017年5月1日 07:01
編輯回答
墨沫

你的需求是希望實現(xiàn)數(shù)據(jù)的加密傳輸嗎?

首先數(shù)據(jù)(也就是你說的參數(shù))在從瀏覽器(H5)發(fā)送到服務(wù)端(PHP)就已經(jīng)暴露在外了,PHP加密再傳給api已經(jīng)是無用功了(如果api處于服務(wù)端本地局域網(wǎng)內(nèi))

你可以用https來實現(xiàn)數(shù)據(jù)加密傳輸,可以防止網(wǎng)絡(luò)中的數(shù)據(jù)被截獲。

2018年8月5日 15:30