初入ThinkPHP5.0 的坑,請(qǐng)問(wèn)大神怎樣有效防止Cookie的詐騙呢?之前使用Node搭建服務(wù)器的時(shí)候有同樣的問(wèn)題,只不過(guò)當(dāng)時(shí)沒(méi)時(shí)間探究下去,直接使用了Cookie中的屬性HttpOnly = true
遇到的問(wèn)題如下:
1. 使用HttpOnly可以有效防止JavaScript對(duì)Cookie的操作,但是在某些特定情況下,還是可以修改的,比如使用Chrome瀏覽器,可以在控制臺(tái)雙擊Cookie實(shí)現(xiàn)修改
2. 如果使用SESSION,在Chrome的控制臺(tái)中可以看見(jiàn) "PHPSESSID" 類(lèi)似的Cookie,使用其他瀏覽器,簡(jiǎn)單修改下Cookie,很容易實(shí)現(xiàn)Cookie詐騙
3. 服務(wù)器的用戶(hù)登錄如果使用cache寫(xiě)文件的方式記錄用戶(hù)的身份,也要確保是哪個(gè)用戶(hù)登錄的,之前想過(guò)用MAC碼,但是好像獲取不了
4. 如果通過(guò)獲取用戶(hù)的設(shè)備信息來(lái)確保Cookie的安全性,萬(wàn)一用戶(hù)在瀏覽器中使用移動(dòng)端視窗打開(kāi),這樣子的用戶(hù)設(shè)備是會(huì)改變的
曾經(jīng)考慮過(guò)記錄IP,但是IP不定的,無(wú)效果
直接點(diǎn)怎樣可以讓Cookie保證"唯一性",就是確保相同的cookie,只在原設(shè)備(使用帳號(hào)密碼登錄的設(shè)備)生效,即使是換了瀏覽器。
請(qǐng)問(wèn)大神如果有效防止Cookie詐騙實(shí)現(xiàn)安全登錄呢?
打個(gè)比喻,下圖紅線(xiàn)畫(huà)的Cookie,可以通過(guò)其他瀏覽器 :
document.cookie = "PHPSESSID = 對(duì)應(yīng)的key值"
刷新一下就可以實(shí)現(xiàn)登錄了,怎樣有效防止這樣的行為
怎樣有效防止Cookie詐騙?
呼啦一陣風(fēng)
2019-03-12 18:10:19