• 1400/03/12

چطور اگر کاربری چندبار رمز ورود اشتباه زد بلاک بشه؟ :

سلام دوستان و استاد عزیز

میخواستم بدونم چطوری باید کاری کنیم که اگر کاربر چندبار رمز ورود رو اشتباه زد، بلاک بشه؟

  • 1400/03/12
  • ساعت 20:59

سلام وقت بخیر

دو تا فیلد برای مدل کاربرتون در نظر بگیرید

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 روز بلاک بشه و تاریخ رو بررسی کنید برای بلاک بودن

موفق باشید


logo-samandehi