由於server端和client端需要通訊,所以api的安全性需要保證
1.完全開放的
一般只是查詢,不能執行增、刪、改的操作
裸奔的
<?phppublic
function getgoodslist($params
)
2.引數加密
引數按照規則生成sign
<?phppublic
)
$where = ['id'=>$params['id']];
$user = m('user')->where($where)->select();
return json_encode($user
);}
3.引數加密+時效性驗證
<?phppublic
)
);
if($sign !== $currentsign
)
$where =[
'id'=>$params['id']
];$user = m('user')->where($where)->select();
return json_encode($user);}
4.引數加密+時效性驗證+私鑰
<?phppublic
)
//
//檢驗簽名是否合法
);
if($sign !== $currentsign
)
$where = ['id'=>$params['id']];
unset($params['id']);
$data = m('user')->where($where)->s**e($params
);
return json_encode($data
);}
5.引數加密+時效性驗證+私鑰+https
為了提高安全性,再增加https的雙向驗證模式
生成簽名的方法:
(1)對除簽名外的所有請求引數按key做生序排列
如:age=18,name=123,timestamp=123456
(2)把引數名和引數值連線成字串
如:age18_name123_timestamp123456
sign='3ffdd2399a23fb7b5d6d99aa84f9a6e3'
app多版本控制的服務端解決方案
手機客戶端按一定週期發版,但是客戶不一定會及時更新到最新版本,所以需要服務端能支援舊版手機客戶端。服務端支援舊版手機客戶端的方式主要有 針對上面的第2種方式的實現方式有 服務端只部署一套 根據版本號引入相應的控制器處理手機端的請求 服務端根據版本號部署多套 根據版本號將手機端的請求 到相應的上游服務...
安全解決方案
專案收集的思路 乙個是關注網際網路企業 團隊的安全開源專案,經企業內部實踐,這些最佳實踐值得借鑑。另乙個是來自企業安全能力建設的需求,根據需求分類,如waf hids git監控等。這個收集是乙個長期的過程,我在github建立了乙個專案,專門用來收集一些優秀的甲方安全專案。專案內容 根據企業安全能...
15 26 微服務安全解決方案
restful 的通訊安全有很多中解決方案,例如 http basic auth 認證 cooke session 認證 token 認證 oauth openid 等等,每一種方案都很成熟,這裡不依依解釋,如果不了解,請去搜尋引擎查詢相關資料。這裡我談談在實施微服務專案中的心得,首先專案採用 sp...