سلام دوستان و استاد عزیز
میخواستم بدونم چطوری باید کاری کنیم که اگر کاربر چندبار رمز ورود رو اشتباه زد، بلاک بشه؟
سلام وقت بخیر
دو تا فیلد برای مدل کاربرتون در نظر بگیرید
wrong_password_count = models.IntegerFirld(default = 0, ...)
isBlock = models.BoleanField(default = False, ...)
حالا هر بار که کاربر رمزش رو اشتباه زد بیاید یدونه بهش اضافه کنید
user.wrong_password_count += 1
user.save()
بعد موقع لاگین بیاید چک کنید مثلا اگر میخواید 3 بار بتونه اشتباه بزنه بلاکش کنید
if user.wrong_password_count > 3:
user.isBlock = True
user.save()
موقع لاگین هم بررسی کنید اگر بلاک بود بهش ارور بدید
if user.isBlock:
form.add_error(...)
و در آخر حواستون باشه بعد از اینکه کاربر لاگین کرد این مقدار wrong_password_count رو صفرش کنید که کاربر به مشکل نخوره
و اینکه بهتره isBlock رو از نوع DateTime بزارید که کاربر برای همیشه بلاک نشه مثلا 1 روز بلاک بشه و تاریخ رو بررسی کنید برای بلاک بودن
موفق باشید