[英]database or sessions ? where to store tokens
令牌是防止csrf攻擊的好工具
對於用戶的每個請求,您的系統必須生成一個唯一的令牌並將其存儲在某個位置
下次客戶要求執行某些操作時,系統將驗證令牌是否存在以及令牌是否仍然有效
如果我們在會話中存儲令牌,則會話將會變得太大,這將占用大量內存,因為CPU在響應請求時將整個會話加載到ram中,例如CPU為1Gb,1000個用戶使用1個會話(每個會話1Mb),CPU將無法處理任何事情,這可能是典型的ddos攻擊(要求越來越多的令牌知道它們存儲在會話中)
在另一邊,將令牌存儲在數據庫中有自己的弱點,
您使用哪種方法存儲令牌?
使用會話,每個會話1MB是相當高的IMO。 由於可以將PHP的會話處理程序切換為使用其他后端,因此您可以靈活地將它們存儲在磁盤/ memcached / mysql的后面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.