전자 메일의 유효성을 검사하는 일반적인 시나리오에서 일반적으로 발생하는 문제는 해당 전자 메일에 대해 고유 토큰을 생성한다는 것입니다. 그런 다음 사용자가 전자 메일을 클릭 할 때 그는 POST 페이지로 이동하거나 직접 확인하는 양식 제출이 가능한 페이지로 이동합니다.
유일한 보안은 고유 ID가 고유하고 누군가가 그 ID를 무차별 대입을 통해 생성 할 수있는 아주 드문 경우입니다. 그게 유일한 보안이야. 며칠 동안 만 링크를 유효하게하는 만료를 추가 할 수도 있습니다.
해당 이메일과 일치하는 해당 이메일과 업데이트 is_approved 입력란을 확인하십시오.
모델 및보기는 다음과 같아야합니다.
class Lead(models.Model):
email = models.EmailField()
unique_id = models.CharField(default=uuid.uuid4)
is_approved = models.BooleanField(default=False)
def get_absolute_url(self):
return reverse('lead_verification', kwargs={'unique_id': self.unique_id})
class LeadVerificationView(APIView):
def post(self, unique_id):
lead = Lead.objects.get(unique_id=unique_id)
lead.is_approved = True
lead.save()
사실 내가 그 일을 끝내 었습니다. Djoser의 activation_email 코드를 살펴 봤는데 URL에 uuid를 제외하고는 다른 보안 기능이 없습니다. 어쨌든 고마워. – pnhegde
@pnhegde 그럼 당신의 질문에 여전히 대답하길 바랍니다. Upvote, 받아들이고 닫으십시오. :) –