Example #1
0
 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")
Example #2
0
 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")
Example #3
0
 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")
Example #4
0
 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")
Example #5
0
 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")
Example #6
0
 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
Example #7
0
 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
Example #8
0
 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") 
Example #9
0
 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")
                                 
Example #10
0
 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")
Example #11
0
 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")
Example #12
0
 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") 
Example #13
0
 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
Example #14
0
 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")
Example #15
0
 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")
Example #16
0
 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
Example #18
0
 def setUp(self):
     print self._testMethodName + " begins now......"
     self.validator = UserValidator()
Example #19
0
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
Example #20
0
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 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
Example #22
0
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
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
 def setUp(self): 
     print self._testMethodName + " begins now......"
     self.validator = UserValidator()
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