我正在使用Laravel作爲API和AngularJs for Frontend。Token在前端和API中的安全問題
從API中,數據就是這樣來的。
$data = [
'Token' => \Auth::guard("api")->user()->api_token,
];
return \Response::json([
'Status' => true,
'Message' => 'ok',
'Data' => $data,
], $Code);
和在AndularJs控制器中,它被保存爲像下面的cookie。
$cookies.put("Token", response.data.Data.Token);
,然後從餅乾,它被檢索這樣
$cookies.get("Token");
我想,這是安全問題一樣,如果人要是知道的道理,他們會提出任何要求。
你能建議更好的方法嗎?
我們可以做類似...獲取當前設備信息(android或桌面等),然後將最終的加密值(令牌+設備信息)保存到cookie或其他媒體?然後在發送請求到api的時候....我們可以解密以確定這是否是被盜的令牌或不... ...?有什麼我可以使用的,在所有設備中都是獨一無二的?
我現在使用的方式是讓PHP中的會話存儲令牌。當然你想要使用angular,但是也許你可以編寫一些中間件,根據你的session將請求追加到你的請求中,如果請求是ajax/xhr。我覺得這是一個有趣的主題,因此我自己的問題:http://stackoverflow.com/questions/42250310/you-can-have-your-api-and-eat-consume-it-in-laravel –
其實我的值得關注的是......無論你從api發送到前端......是否會以cookie或其他方式保存......這裏關注的是令牌在前端有多安全? – Pankaj
令牌不必到達瀏覽器,只有會話(**不是** API)令牌必須存儲在前端的某個地方(所以cookie)。但是在laravel中,這個cookie只是一個會話標識符(你的會話驅動程序的**不是** cookie,但它仍然會被加密,如果是的話),並且旁邊的將無法在你的域之外被讀取。 –