コード例 #1
0
ファイル: views.py プロジェクト: am910021/ProjectA-Public
    def get(self, request, *args, **kwargs):
        if not "base64string" in kwargs:
            kwargs['getError'] = True
            return super(ForgetReset, self).get(request, *args, **kwargs)
        
        aes = AESCipher()
        data=None
        try:
            data = aes.decrypt(kwargs['base64string']).split("~|@|~")
        except Exception as e:
            print(e)
            kwargs['getError'] = True
            return super(ForgetReset, self).get(request, *args, **kwargs)
        
        timeout = time.mktime(time.strptime(data[4], '%Y-%m-%d-%H-%M-%S'))
        now = time.mktime(timezone.now().timetuple())
        
        if  now>timeout:
            kwargs['timeout'] = "重置資料已超時,請重新按 忘記密碼。"
            return super(ForgetReset, self).get(request, *args, **kwargs)
        
        try:
            user = User.objects.get(id=data[0])
            if (user.username!=data[1] and user.email!=data[2] and user.profile.resetCode!=data[3]):
                kwargs['getError'] = True
            kwargs['form'] = ResetPwd()
        except Exception as e:
            print(e)

        
        return super(ForgetReset, self).get(request, *args, **kwargs)
コード例 #2
0
ファイル: views.py プロジェクト: am910021/philipb-tw
    def get(self, request, *args, **kwargs):
        if not "base64string" in kwargs:
            kwargs["getError"] = True
            return super(ForgetReset, self).get(request, *args, **kwargs)

        aes = AESCipher()
        data = None
        try:
            data = aes.decrypt(kwargs["base64string"]).split("~|@|~")
        except Exception as e:
            print(e)
            kwargs["getError"] = True
            return super(ForgetReset, self).get(request, *args, **kwargs)

        timeout = time.mktime(time.strptime(data[4], "%Y-%m-%d-%H-%M-%S"))
        now = time.mktime(timezone.now().timetuple())

        if now > timeout:
            kwargs["timeout"] = "重置資料已超時,請重新按 忘記密碼。"
            return super(ForgetReset, self).get(request, *args, **kwargs)

        try:
            user = User.objects.get(id=data[0])
            if user.username != data[1] and user.email != data[2] and user.profile.resetCode != data[3]:
                kwargs["getError"] = True
            kwargs["form"] = ResetPwd()
        except Exception as e:
            print(e)

        return super(ForgetReset, self).get(request, *args, **kwargs)
コード例 #3
0
ファイル: views.py プロジェクト: am910021/ProjectA-Public
 def checkUser(self,request, *args, **kwargs):
     base64 = kwargs['base64string']
     aes = AESCipher()
     data = aes.decrypt(base64).split("~|@|~")
     user = User.objects.get(id=data[0])
     if user.username!=data[1]:
         return False
     if user.email!=data[2]:
         return False
     user.profile.isVerified = True
     user.profile.save()
     logout(request)
     return True
コード例 #4
0
ファイル: views.py プロジェクト: am910021/philipb-tw
 def checkUser(self, request, *args, **kwargs):
     base64 = kwargs["base64string"]
     aes = AESCipher()
     data = aes.decrypt(base64).split("~|@|~")
     user = User.objects.get(id=data[0])
     if user.username != data[1]:
         return False
     if user.email != data[2]:
         return False
     user.profile.isVerified = True
     user.profile.save()
     logout(request)
     return True