def post(self, request): requestCon = json.loads(request.body) uservalidator = UserValidator() uservalidator.setUsername(requestCon["un"]) if uservalidator.usernameValidate() == True: with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.setEmail(requestCon["em"]) rows = usermodel.queryForgetPassword() if rows == None: return HttpResponse("notfound", content_type="text/plain") else: newSalt = hashlib.md5(os.urandom(32)).hexdigest() try: send_mail( 'Reset password for your NFS account', 'Hello ' + requestCon["un"] + ',\n \nPlease copy the following code to reset password:\n \n' + newSalt + '\n \nThanks,\nNFS', '*****@*****.**', [requestCon["em"]], fail_silently=False) with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.setEmail(requestCon["em"]) usermodel.updateValidate(newSalt) return HttpResponse("success", content_type="text/plain") except SMTPException: return HttpResponse("fail", content_type="text/plain") else: return HttpResponse("notvalid", content_type="text/plain")
def post(self, request): requestCon = json.loads(request.body) uservalidator = UserValidator() uservalidator.setUsername(requestCon["un"]) with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.setEmail(requestCon["em"]) rows = usermodel.queryForgetPassword() if requestCon["code"] == rows[12]: return HttpResponse("success", content_type="text/plain") else: return HttpResponse("fail", content_type="text/plain")
def post(self, request): requestCon = json.loads(request.body) uservalidator = UserValidator() uservalidator.setPassword(requestCon["pw"]) encryptpw = EncryptionPassword() encryptpw.setPassword(requestCon["pw"]) hashList = encryptpw.encryptPw() newPass = hashList[0] newSalt = hashList[1] if uservalidator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.updateSalt(newSalt) usermodel.resetPassword(newPass) return HttpResponse("success", content_type="text/plain") else: return HttpResponse("notvalid", content_type="text/plain")
def post(self, request): validator = UserValidator() # validate input if "username" in request.session: requestCon = json.loads(request.body) validator.setUsername(requestCon['un']) if validator.usernameValidate() == True: with UserModel() as usermodel: usermodel.setUsername(requestCon['un']) rows = usermodel.queryRegister() if rows == None: return HttpResponse(json.dumps('notfound'), content_type="application/json") else: return HttpResponse(json.dumps('success'), content_type="application/json") else: return HttpResponse(json.dumps('notvalid'), content_type="application/json") else: return HttpResponse(json.dumps('notlogin'), content_type="application/json")
def post(self, request): validator = UserValidator() # validate input if "username" not in request.session: regInfo = json.loads(request.body) validator.setUsername(regInfo["un"]) if validator.usernameValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) rows = usermodel.queryRegister() if rows == None: return HttpResponse("success", content_type="text/plain") # username does not exist else: return HttpResponse("exist", content_type="text/plain") # username exists else: return HttpResponse("notvalid", content_type="text/plain") # username exists else: return HttpResponse("loggedin", content_type="text/plain") # username does not exist
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" not in request.session: regInfo = json.loads(request.body) logging.info(regInfo) validator.setUsername(regInfo['un']) validator.setPassword(regInfo['pw']) encryptpw.setPassword(regInfo['pw']) if validator.usernameValidate() == True and validator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo['un']) salt = usermodel.querySalt()[11] hashPW = encryptpw.encryptPw(salt)[0] usermodel.setPassword(hashPW) rows = usermodel.queryLogin() logging.info(rows) if rows != None: usermodel.updateLoginDate() if rows != None: request.session["username"] = regInfo['un'] return HttpResponse(json.dumps({'r':1,'un':request.session["username"]}), content_type="application/json") # successfully login else: return HttpResponse(json.dumps({'r':0}), content_type="application/json") # incorrect username/password else: return HttpResponse(json.dumps({'r':3}), content_type="application/json")# username/password not validated else: return HttpResponse(json.dumps({'r':2,'un':request.session["username"]}), content_type="application/json") # already login
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" not in request.session: regInfo = json.loads(request.body) validator.setUsername(regInfo["un"]) validator.setPassword(regInfo["pw"]) encryptpw.setPassword(regInfo["pw"]) if validator.usernameValidate() == True and validator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) rows = usermodel.queryRegister() if rows == None: hashList = encryptpw.encryptPw() hashPW = hashList[0] newSalt = hashList[1] with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) usermodel.setPassword(hashPW) usermodel.setSalt(newSalt) usermodel.setEmail(regInfo["em"]) usermodel.setFirstname(regInfo["fn"]) usermodel.setLastname(regInfo["ln"]) usermodel.insertRegister() request.session["username"] = regInfo["un"] return HttpResponse(json.dumps({'r':"success",'un':request.session["username"]}), content_type="application/json") else: return HttpResponse(json.dumps({'r':"exist"}), content_type="application/json") else: return HttpResponse(json.dumps({'r':"notvalid"}), content_type="application/json") else: return HttpResponse(json.dumps({'r':"loggedin",'un':request.session["username"]}), content_type="application/json")
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" in request.session: regInfo = json.loads(request.body) validator.setPassword(regInfo["newpass"]) encryptpw.setPassword(regInfo["oldpass"]) if regInfo["newpass"] == "" or validator.passwordValidate( ) == True: with UserModel() as usermodel: usermodel.setUsername(request.session["username"]) salt = usermodel.querySalt()[11] hashPW = encryptpw.encryptPw(salt)[0] usermodel.setPassword(hashPW) rows = usermodel.queryLogin() if rows != None: hashList = encryptpw.encryptPw() newoldPW = encryptpw.encryptPw()[0] newSalt = encryptpw.encryptPw()[1] if regInfo["newpass"] == "": newPW = newoldPW else: encryptpw.setPassword(regInfo["newpass"]) newPW = encryptpw.encryptPw(newSalt)[0] with UserModel() as usermodel: usermodel.setUsername(request.session["username"]) usermodel.setPassword(newPW) usermodel.setEmail(regInfo["em"]) usermodel.setSalt(newSalt) usermodel.setFirstname(regInfo["fn"]) usermodel.setLastname(regInfo["ln"]) usermodel.updateRegister() return HttpResponse("success", content_type="text/plain") else: return HttpResponse("notcorrect", content_type="text/plain") else: return HttpResponse("notvalid", content_type="text/plain") else: return HttpResponse("notlogin", content_type="text/plain")
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" in request.session: regInfo = json.loads(request.body) validator.setPassword(regInfo["newpass"]) encryptpw.setPassword(regInfo["oldpass"]) if regInfo["newpass"] == "" or validator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(request.session["username"]) salt = usermodel.querySalt()[11] hashPW = encryptpw.encryptPw(salt)[0] usermodel.setPassword(hashPW) rows = usermodel.queryLogin() if rows != None: hashList = encryptpw.encryptPw() newoldPW = encryptpw.encryptPw()[0] newSalt = encryptpw.encryptPw()[1] if regInfo["newpass"] == "": newPW = newoldPW else: encryptpw.setPassword(regInfo["newpass"]) newPW = encryptpw.encryptPw(newSalt)[0] with UserModel() as usermodel: usermodel.setUsername(request.session["username"]) usermodel.setPassword(newPW) usermodel.setEmail(regInfo["em"]) usermodel.setSalt(newSalt) usermodel.setFirstname(regInfo["fn"]) usermodel.setLastname(regInfo["ln"]) usermodel.updateRegister() return HttpResponse("success", content_type="text/plain") else: return HttpResponse("notcorrect", content_type="text/plain") else: return HttpResponse("notvalid", content_type="text/plain") else: return HttpResponse("notlogin", content_type="text/plain")
def post(self, request): validator = UserValidator() # validate input if "username" not in request.session: regInfo = json.loads(request.body) validator.setUsername(regInfo["un"]) if validator.usernameValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) rows = usermodel.queryRegister() if rows == None: return HttpResponse( "success", content_type="text/plain") # username does not exist else: return HttpResponse( "exist", content_type="text/plain") # username exists else: return HttpResponse( "notvalid", content_type="text/plain") # username exists else: return HttpResponse( "loggedin", content_type="text/plain") # username does not exist
def post(self, request): requestCon = json.loads(request.body) uservalidator = UserValidator() uservalidator.setUsername(requestCon["un"]) if uservalidator.usernameValidate() == True: with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.setEmail(requestCon["em"]) rows = usermodel.queryForgetPassword() if rows == None: return HttpResponse("notfound", content_type="text/plain") else: newSalt = hashlib.md5(os.urandom(32)).hexdigest() try: send_mail('Reset password for your NFS account', 'Hello '+requestCon["un"]+',\n \nPlease copy the following code to reset password:\n \n'+newSalt+'\n \nThanks,\nNFS', '*****@*****.**',[requestCon["em"]], fail_silently=False) with UserModel() as usermodel: usermodel.setUsername(requestCon["un"]) usermodel.setEmail(requestCon["em"]) usermodel.updateValidate(newSalt) return HttpResponse("success", content_type="text/plain") except SMTPException: return HttpResponse("fail", content_type="text/plain") else: return HttpResponse("notvalid", content_type="text/plain")
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" not in request.session: regInfo = json.loads(request.body) validator.setUsername(regInfo["un"]) validator.setPassword(regInfo["pw"]) encryptpw.setPassword(regInfo["pw"]) if validator.usernameValidate( ) == True and validator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) rows = usermodel.queryRegister() if rows == None: hashList = encryptpw.encryptPw() hashPW = hashList[0] newSalt = hashList[1] with UserModel() as usermodel: usermodel.setUsername(regInfo["un"]) usermodel.setPassword(hashPW) usermodel.setSalt(newSalt) usermodel.setEmail(regInfo["em"]) usermodel.setFirstname(regInfo["fn"]) usermodel.setLastname(regInfo["ln"]) usermodel.insertRegister() request.session["username"] = regInfo["un"] return HttpResponse(json.dumps({ 'r': "success", 'un': request.session["username"] }), content_type="application/json") else: return HttpResponse(json.dumps({'r': "exist"}), content_type="application/json") else: return HttpResponse(json.dumps({'r': "notvalid"}), content_type="application/json") else: return HttpResponse(json.dumps({ 'r': "loggedin", 'un': request.session["username"] }), content_type="application/json")
def post(self, request): validator = UserValidator() # validate input encryptpw = EncryptionPassword() # encrypt password if "username" not in request.session: regInfo = json.loads(request.body) logging.info(regInfo) validator.setUsername(regInfo['un']) validator.setPassword(regInfo['pw']) encryptpw.setPassword(regInfo['pw']) if validator.usernameValidate( ) == True and validator.passwordValidate() == True: with UserModel() as usermodel: usermodel.setUsername(regInfo['un']) salt = usermodel.querySalt()[11] hashPW = encryptpw.encryptPw(salt)[0] usermodel.setPassword(hashPW) rows = usermodel.queryLogin() logging.info(rows) if rows != None: usermodel.updateLoginDate() if rows != None: request.session["username"] = regInfo['un'] return HttpResponse( json.dumps({ 'r': 1, 'un': request.session["username"] }), content_type="application/json") # successfully login else: return HttpResponse(json.dumps({'r': 0}), content_type="application/json" ) # incorrect username/password else: return HttpResponse(json.dumps({'r': 3}), content_type="application/json" ) # username/password not validated else: return HttpResponse( json.dumps({ 'r': 2, 'un': request.session["username"] }), content_type="application/json") # already login
class TestUsernameValidator(unittest.TestCase): def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator() def test_username_empty_fail(self): self.validator.setUsername("") self.assertFalse(self.validator.usernameValidate()) def test_username_onlynum_fail(self): self.validator.setUsername("12345") self.assertFalse(self.validator.usernameValidate()) def test_username_startsnum_fail(self): self.validator.setUsername("12345ting") self.assertFalse(self.validator.usernameValidate()) def test_username_short_fail(self): self.validator.setUsername("ti") self.assertFalse(self.validator.usernameValidate()) def test_username_valid_success(self): self.validator.setUsername("ting123") self.assertTrue(self.validator.usernameValidate()) def tearDown(self): del self.validator
def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator()
class TestFirstnameValidator(unittest.TestCase): def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator() def test_firstname_empty_fail(self): self.validator.setFirstName("") self.assertFalse(self.validator.firstnameValidate()) def test_firstname_num_fail(self): self.validator.setFirstName("12345") self.assertFalse(self.validator.firstnameValidate()) def test_firstname_long_fail(self): self.validator.setFirstName("fseffrssfsfesfsdfsefsdffefdfsfefsdfe") self.assertFalse(self.validator.firstnameValidate()) def test_firstname_valid_success(self): self.validator.setFirstName("ting") self.assertTrue(self.validator.firstnameValidate()) def tearDown(self): del self.validator
class TestLastnameValidator(unittest.TestCase): def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator() def test_lastname_empty_fail(self): self.validator.setLastName("") self.assertFalse(self.validator.lastnameValidate()) def test_lastname_num_fail(self): self.validator.setLastName("12345") self.assertFalse(self.validator.lastnameValidate()) def test_lastname_long_fail(self): self.validator.setLastName("SDFESDFSFESDFEFSSGRGRGDFSDRADAAFFSGDRGERG") self.assertFalse(self.validator.lastnameValidate()) def test_lastname_valid_success(self): self.validator.setLastName("Zhao") self.assertTrue(self.validator.lastnameValidate()) def tearDown(self): del self.validator
class TestEmailValidator(unittest.TestCase): def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator() def test_email_empty_fail(self): self.validator.setEmail("") self.assertFalse(self.validator.emailValidate()) def test_email_noatsymbol_fail(self): self.validator.setEmail("12345com") self.assertFalse(self.validator.emailValidate()) def test_email_invalidsymbol_fail(self): self.validator.setEmail("ting123#@gm.com") self.assertFalse(self.validator.emailValidate()) def test_email_invalidpostfix_fail(self): self.validator.setEmail("*****@*****.**") self.assertFalse(self.validator.emailValidate()) def test_email_valid_success(self): self.validator.setEmail("*****@*****.**") self.assertTrue(self.validator.emailValidate()) def tearDown(self): del self.validator
class TestPasswordValidator(unittest.TestCase): def setUp(self): print self._testMethodName + " begins now......" self.validator = UserValidator() def test_password_empty_fail(self): self.validator.setPassword("") self.assertFalse(self.validator.passwordValidate()) def test_password_onlynum_fail(self): self.validator.setPassword("12345") self.assertFalse(self.validator.passwordValidate()) def test_password_onlyletter_fail(self): self.validator.setPassword("tiAADfes") self.assertFalse(self.validator.passwordValidate()) def test_password_short_fail(self): self.validator.setPassword("tA12") self.assertFalse(self.validator.passwordValidate()) def test_password_valid_success(self): self.validator.setPassword("ting123!A") self.assertTrue(self.validator.passwordValidate()) def tearDown(self): del self.validator