W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Laravel 4.1.26 采用了針對(duì)「記得我」cookies 的安全性更新。在此更新之前,如果一個(gè)記得我的 cookies 被惡意用戶劫持,該 cookie 將還可以生存很長(zhǎng)一段時(shí)間,即使真實(shí)用戶重設(shè)密碼或者注銷亦同。
此更動(dòng)需要在你的 users
(或者類似的) 的數(shù)據(jù)表中增加一個(gè)額外的 remember_token
字段。在更新之后,當(dāng)用戶每次登錄你的應(yīng)用程序?qū)?huì)有一個(gè)全新的 token 將會(huì)被指派。這個(gè) token 也會(huì)在用戶注銷應(yīng)用程序后被更新。這個(gè)更新的影響為:如果一個(gè)「記得我」的 cookie 被劫持,只要用戶注銷應(yīng)用程序?qū)?huì)廢除該 cookie。
首先,增加一個(gè)新的字段,可空值、屬性為 VARCHAR(100)、TEXT 或同類型的字段 remember_token 到你的 users 數(shù)據(jù)表中。
然后,如果你使用 Eloquent 認(rèn)證驅(qū)動(dòng),依照下面更新你的 User 類別的三個(gè)方法:
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName()
{
return 'remember_token';
}
附注: 所有現(xiàn)存的「記得我」sessions 在此更新后將會(huì)失效,所以應(yīng)用程序的所有用戶將會(huì)被迫重新登錄。
兩個(gè)新的方法被加入到 Illuminate\Auth\UserProviderInterface
接口。范例實(shí)現(xiàn)方式可以在默認(rèn)驅(qū)動(dòng)中找到:
public function retrieveByToken($identifier, $token);
public function updateRememberToken(UserInterface $user, $token);
Illuminate\Auth\UserInterface
也加了三個(gè)新方法描述在「升級(jí)路徑」。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: