From 292972c0ce0a9904206d9d99664339f7af9521ee Mon Sep 17 00:00:00 2001 From: Sunflower613 <2963707761@qq.com> Date: Tue, 19 Mar 2024 14:59:36 +0800 Subject: [PATCH 1/2] Fix bug 528 --- app/templates/login.html | 5 +++++ app/templates/reset.html | 5 +++++ app/templates/signup.html | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/app/templates/login.html b/app/templates/login.html index b8eb118..169c669 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -15,6 +15,11 @@ alert('输入不能为空!'); return false; } + let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 + if (!reg.test(password)) { + alert('输入不能包含空格!'); + return false; + } $.post( "/login", {'username': username, 'password': password}, function (response) { diff --git a/app/templates/reset.html b/app/templates/reset.html index 3425c97..4834695 100644 --- a/app/templates/reset.html +++ b/app/templates/reset.html @@ -12,6 +12,11 @@ alert('输入不能为空!'); return false; } + let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 + if (!reg.test(old_password) || !reg.test(new_password)) { + alert('输入不能包含空格!'); + return false; + } if (new_password !== re_new_password) { alert('新密码不匹配,请重新输入'); return false; diff --git a/app/templates/signup.html b/app/templates/signup.html index 5b3aafe..8d688f3 100644 --- a/app/templates/signup.html +++ b/app/templates/signup.html @@ -16,6 +16,11 @@ You're logged in already! Logout. alert('输入不能为空!'); return false; } + let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 + if (!reg.test(password) || !reg.test(password2)) { + alert('输入不能包含空格!'); + return false; + } if (password !== password2) { alert('确认密码与输入密码不一致!'); return false; From 85a3faaa9f96370af30f4ef5c418f592f86dbc77 Mon Sep 17 00:00:00 2001 From: Sunflower613 <2963707761@qq.com> Date: Sat, 6 Apr 2024 00:18:44 +0800 Subject: [PATCH 2/2] Fix bug 528 --- app/templates/login.html | 9 +++-- app/templates/reset.html | 9 +++-- app/templates/signup.html | 9 +++-- app/test/test_login_password_with_space.py | 35 ++++++++++++++++++ app/test/test_reset_password_with_space.py | 35 ++++++++++++++++++ app/test/test_signup_password_with_space.py | 39 +++++++++++++++++++++ 6 files changed, 121 insertions(+), 15 deletions(-) create mode 100644 app/test/test_login_password_with_space.py create mode 100644 app/test/test_reset_password_with_space.py create mode 100644 app/test/test_signup_password_with_space.py diff --git a/app/templates/login.html b/app/templates/login.html index 169c669..b0806b6 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -15,11 +15,10 @@ alert('输入不能为空!'); return false; } - let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 - if (!reg.test(password)) { - alert('输入不能包含空格!'); - return false; - } + if (password.includes(' ')) { + alert('输入不能包含空格!'); + return false; + } $.post( "/login", {'username': username, 'password': password}, function (response) { diff --git a/app/templates/reset.html b/app/templates/reset.html index 4834695..408e001 100644 --- a/app/templates/reset.html +++ b/app/templates/reset.html @@ -12,11 +12,10 @@ alert('输入不能为空!'); return false; } - let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 - if (!reg.test(old_password) || !reg.test(new_password)) { - alert('输入不能包含空格!'); - return false; - } + if (old_password.includes(' ') || new_password.includes(' ')) { + alert('输入不能包含空格!'); + return false; + } if (new_password !== re_new_password) { alert('新密码不匹配,请重新输入'); return false; diff --git a/app/templates/signup.html b/app/templates/signup.html index 8d688f3..6b5db6e 100644 --- a/app/templates/signup.html +++ b/app/templates/signup.html @@ -16,11 +16,10 @@ You're logged in already! Logout. alert('输入不能为空!'); return false; } - let reg = /^\S*$/; // 正则表达式,用于匹配不包含空格的字符串 - if (!reg.test(password) || !reg.test(password2)) { - alert('输入不能包含空格!'); - return false; - } + if (password.includes(' ') || password2.includes(' ')) { + alert('输入不能包含空格!'); + return false; + } if (password !== password2) { alert('确认密码与输入密码不一致!'); return false; diff --git a/app/test/test_login_password_with_space.py b/app/test/test_login_password_with_space.py new file mode 100644 index 0000000..9be5118 --- /dev/null +++ b/app/test/test_login_password_with_space.py @@ -0,0 +1,35 @@ +from selenium import webdriver +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.common.keys import Keys + +import time + +# 初始化WebDriver +driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX) +driver.implicitly_wait(10) + + +# 测试登录页面输入密码包含空格的情况 +def test_login_password_with_space(): + try: + driver.get("http://121.4.94.30:91/login") + + # 输入用户名 + username_elem = driver.find_element_by_name('username') + username_elem.send_keys("test_user") + + # 输入包含空格的密码 + password_elem = driver.find_element_by_name('password') + password_elem.send_keys("password with space") + + # 提交登录表单 + password_elem.send_keys(Keys.RETURN) + + # 等待一段时间确保页面加载完成 + time.sleep(2) + + # 检查是否弹出警告框 + alert = driver.switch_to.alert + assert "输入不能包含空格!" in alert.text + finally: + driver.quit() \ No newline at end of file diff --git a/app/test/test_reset_password_with_space.py b/app/test/test_reset_password_with_space.py new file mode 100644 index 0000000..b2a7ac0 --- /dev/null +++ b/app/test/test_reset_password_with_space.py @@ -0,0 +1,35 @@ +from selenium import webdriver +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.common.keys import Keys + +import time + +# 初始化WebDriver +driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX) +driver.implicitly_wait(10) + + +# 测试重设密码页面输入旧密码或新密码包含空格的情况 +def test_reset_password_with_space(): + try: + driver.get("http://121.4.94.30:91/reset") + + # 输入旧密码 + old_password_elem = driver.find_element_by_name('old_password') + old_password_elem.send_keys("old password with space") + + # 输入新密码 + new_password_elem = driver.find_element_by_name('new_password') + new_password_elem.send_keys("new password with space") + + # 提交重设密码表单 + new_password_elem.send_keys(Keys.RETURN) + + # 等待一段时间确保页面加载完成 + time.sleep(2) + + # 检查是否弹出警告框 + alert = driver.switch_to.alert + assert "输入不能包含空格!" in alert.text + finally: + driver.quit() diff --git a/app/test/test_signup_password_with_space.py b/app/test/test_signup_password_with_space.py new file mode 100644 index 0000000..6d5f066 --- /dev/null +++ b/app/test/test_signup_password_with_space.py @@ -0,0 +1,39 @@ +from selenium import webdriver +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities +from selenium.webdriver.common.keys import Keys + +import time + +# 初始化WebDriver +driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX) +driver.implicitly_wait(10) + + +# 测试注册页面输入密码包含空格的情况 +def test_signup_password_with_space(): + try: + driver.get("http://121.4.94.30:91/signup") + + # 输入用户名 + username_elem = driver.find_element_by_name('username') + username_elem.send_keys("new_user") + + # 输入包含空格的密码 + password_elem = driver.find_element_by_name('password') + password_elem.send_keys("password with space") + + # 再次输入密码 + password2_elem = driver.find_element_by_name('password2') + password2_elem.send_keys("password with space") + + # 提交注册表单 + password2_elem.send_keys(Keys.RETURN) + + # 等待一段时间确保页面加载完成 + time.sleep(2) + + # 检查是否弹出警告框 + alert = driver.switch_to.alert + assert "输入不能包含空格!" in alert.text + finally: + driver.quit()