create PendingCaptchaUser before uploading CAPTCHA: closing abuse possibility
This commit is contained in:
parent
bad18f3d0d
commit
8d0ae6301b
|
@ -272,6 +272,17 @@ class WebHookView(View):
|
||||||
secret = ''
|
secret = ''
|
||||||
while len(secret) < telegramGroupPreferences.captcha_digits:
|
while len(secret) < telegramGroupPreferences.captcha_digits:
|
||||||
secret += random.choice(telegramGroupPreferences.captcha_chars)
|
secret += random.choice(telegramGroupPreferences.captcha_chars)
|
||||||
|
models.PendingCaptchaUser.objects.filter(group=telegramGroup, user=telegramMember).delete()
|
||||||
|
pcu = models.PendingCaptchaUser(
|
||||||
|
bot_token=telegram,
|
||||||
|
user=telegramMember,
|
||||||
|
group=telegramGroup,
|
||||||
|
captcha_answer=secret,
|
||||||
|
attempts_left=telegramGroupPreferences.captcha_attempts,
|
||||||
|
lifetime=telegramGroupPreferences.captcha_timeout,
|
||||||
|
captcha_message_id=0,
|
||||||
|
)
|
||||||
|
pcu.save()
|
||||||
imbytes = imageCaptcha.generate(secret)
|
imbytes = imageCaptcha.generate(secret)
|
||||||
captcha_message = (telegramGroupPreferences.captcha_first_message
|
captcha_message = (telegramGroupPreferences.captcha_first_message
|
||||||
.replace('{NAME}', telegramMember.name)
|
.replace('{NAME}', telegramMember.name)
|
||||||
|
@ -289,16 +300,8 @@ class WebHookView(View):
|
||||||
photo=imbytes,
|
photo=imbytes,
|
||||||
caption=captcha_message,
|
caption=captcha_message,
|
||||||
)
|
)
|
||||||
models.PendingCaptchaUser.objects.filter(group=telegramGroup, user=telegramMember).delete()
|
pcu.captcha_message_id = sent_message.message_id
|
||||||
models.PendingCaptchaUser(
|
pcu.save()
|
||||||
bot_token=telegram,
|
|
||||||
user=telegramMember,
|
|
||||||
group=telegramGroup,
|
|
||||||
captcha_answer=secret,
|
|
||||||
attempts_left=telegramGroupPreferences.captcha_attempts,
|
|
||||||
lifetime=telegramGroupPreferences.captcha_timeout,
|
|
||||||
captcha_message_id=sent_message.message_id,
|
|
||||||
).save()
|
|
||||||
else:
|
else:
|
||||||
send_hello(telegramMember)
|
send_hello(telegramMember)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user