請求登入介面後介面返回秘鑰儲存在cookie里安全麼,如果cookie裡面的秘鑰被取得不是就可以隨意呼叫介面了
认证0级讲师
你說的是移動APP麼?這個一般不用session啊,登陸的時候是回傳一個token值,app端使用這個token來作為其他介面的驗證。這個token 可以前段後台約定一種加密校驗方式。
如果考慮到安全問題:
別人首先要知道你的token值什麼時候回傳的,這就要抓包了。那麼後端介面url可以考慮使用 https ,這樣就算別人抓包也抓不出啥。
其次, 你回傳的 token ,可以回傳一個使用 RSA 私鑰加密的 token ,app端保存公鑰解密token,其後的token ,或一些其他敏感參數,都可以用 RSA 加密。 別人沒有你的公鑰是無法加解密的。
假設別人反編譯你的app,找到你存放到程式碼理的token了,那麼你還可以額外傳遞一個參數st 校驗,這裡說一種簡單的: 把你所有的參數全部按字母表的順序排列,轉碼,md5,得到一個值,傳遞過去。後台接受你的參數後做同樣的事來對比 st 的值,不一致則認為被修改,後台返回非法參數提示。
你還可以設定 一個app一個公鑰(所謂的一機一密) , 後台可以不定時的更新app端的公鑰 。 這樣即使 你的校驗規則、RSA公鑰別人都知道了,,那麼別人只能對這一台手機上的app做手腳,最大程度降低損失。
——————————————
沒注意到你說的是javascript , 不過javascript也可以這麼實作吧。
你可以假想為token包含你的登入訊息,IP位址,登入時間等等一系列的修片,而且它有自己的時效,過了就不能用了~所以還是很安全的
可以參考微信小程式的登入介面https://mp.weixin.qq.com/debu...
你說的是移動APP麼?這個一般不用session啊,登陸的時候是回傳一個token值,app端使用這個token來作為其他介面的驗證。這個token 可以前段後台約定一種加密校驗方式。
如果考慮到安全問題:
別人首先要知道你的token值什麼時候回傳的,這就要抓包了。那麼後端介面url可以考慮使用 https ,這樣就算別人抓包也抓不出啥。
其次, 你回傳的 token ,可以回傳一個使用 RSA 私鑰加密的 token ,app端保存公鑰解密token,其後的token ,或一些其他敏感參數,都可以用 RSA 加密。 別人沒有你的公鑰是無法加解密的。
假設別人反編譯你的app,找到你存放到程式碼理的token了,那麼你還可以額外傳遞一個參數st 校驗,這裡說一種簡單的: 把你所有的參數全部按字母表的順序排列,轉碼,md5,得到一個值,傳遞過去。後台接受你的參數後做同樣的事來對比 st 的值,不一致則認為被修改,後台返回非法參數提示。
你還可以設定 一個app一個公鑰(所謂的一機一密) , 後台可以不定時的更新app端的公鑰 。 這樣即使 你的校驗規則、RSA公鑰別人都知道了,,那麼別人只能對這一台手機上的app做手腳,最大程度降低損失。
——————————————
沒注意到你說的是javascript , 不過javascript也可以這麼實作吧。
你可以假想為token包含你的登入訊息,IP位址,登入時間等等一系列的修片,而且它有自己的時效,過了就不能用了~所以還是很安全的
可以參考微信小程式的登入介面
https://mp.weixin.qq.com/debu...