作為一名開發人員,應該如何處理用戶從網站上洗掉其帳戶的問題?
如果有人猜到了用戶的密碼并洗掉了他們的賬戶,你將希望能夠恢復該賬戶,因此立即完全洗掉它并不是答案。
另一方面,如果你確定要洗掉一個賬戶,它仍將在備份中保留一段時間。
是否有處理賬戶洗掉的最佳實踐?
uj5u.com熱心網友回復:
我將在用戶賬戶記錄中增加一個布爾欄位,例如稱為 "IsDeleted"。 它將是用戶賬戶被洗掉的一個指標。此外,添加被洗掉的DateTime可以用來確定你是否應該完全清除該用戶賬戶記錄。 最好的做法是保持簡單。
uj5u.com熱心網友回復:
這通常是通過所謂的 "軟洗掉 "來處理的,它將一條記錄標記為已洗掉,但實際上并沒有洗掉它。
這是許多框架中常見的情況。例如Laravel使用deleted_at時間戳屬性,所以你可以洗掉一個賬戶,然后運行一個計劃任務來真正洗掉超過一定時間前洗掉的記錄,例如一周。"撤銷 "一個賬戶只需要將該欄位設定為null。
軟洗掉對于不可避免的 "但我并不是故意要洗掉它 "的情況非常有用,而且當您洗掉一個用戶帳戶時,或許還有其他任務需要完成,例如從與您共享資料的第三方服務中洗掉資料,如郵件串列服務。
盡管根據GDPR的要求,您可能有法律要求洗掉資料,但這并不是絕對的,而是取決于您的處理依據。例如,您可能在法律上有義務將記錄保留一定的時間,或者您可能有合同要求將記錄保留到賬戶支付完所有賬單。
您不應該依賴軟洗掉作為對密碼猜測的防御--一個強大的密碼政策和2FA應該有更高的優先權來對抗這種情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307786.html
標籤:
