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()