我的應用程序實現了一個購物車,匿名用戶可以在其中使用產品填充購物車。用戶登錄只在付款之前需要。這如何實現?如何使用Flask跟蹤匿名用戶
主要挑戰是燒瓶必須跟蹤用戶(即使匿名)和他們的訂單。我目前的做法是利用分配給current_user
的AnonymousUserMixin
對象。假設current_user
在整個會話中不會改變。不過,我注意到一個新的AnonymousUserMixin
對象被分配給current_user
,例如,每刷新一次瀏覽器頁面。請注意,如果用戶通過身份驗證,則不會發生這種情況。
關於如何規避這個問題的任何建議?
謝謝!有沒有辦法保護我的應用程序免受惡意用戶的侵害?有人可能通過以下方式進行攻擊:(i)創建購物車,以及(ii)在循環中關閉會話(或刪除cookie)。有沒有辦法讓cron作業(或任務隊列)幫助避免數據庫大小不受控制地增加?每次購物車創建時檢查數據庫的大小是我想避免的。 – LuisO
沒有什麼萬無一失的東西,但你可以跟蹤用戶的IP地址,並確保你不允許多個購物車同一個。或者,您可以將創建日期寫入所有購物車,並且當您需要創建新購物車時,請運行查詢以查明您在過去N分鐘內創建了多少個購物車。如果您發現這是一個很大的數字,您可以停止創建新的購物車。 – Miguel