From 6b3886b0c39410d48a5ca6c578f9d664fa75c844 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 14 三月 2023 11:00:47 +0800
Subject: [PATCH] 增加密码复杂度验证
---
src/main/webapp/views/password.html | 16 ++++++++++++++++
src/main/webapp/views/index.html | 24 +++++++++++++++++++++++-
src/main/webapp/static/js/common.js | 16 ++++++++++++++++
src/main/webapp/views/login.html | 1 +
4 files changed, 56 insertions(+), 1 deletions(-)
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 88c58cc..8fe7450 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -5,6 +5,22 @@
// 璇︽儏绐楀彛-瀹藉害
var detailWidth = '90%';
+function checkPassword(password) {
+ //瀵嗙爜蹇呴』鍖呭惈瀛楃鍜屾暟瀛楅暱搴︿笉鑳藉皯浜�8浣�
+ let pattern = /(?=.*[0-9])(?=.*[a-zA-Z!@#$]).{8,}/
+ //涓嶈兘鍖呭惈杩炵画鏁板瓧
+ let pattern2 = /(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}\d/
+ //閲嶅鏁板瓧涓嶈兘瓒呰繃鍥涗綅
+ let pattern3 = /(\d)\1{3}/
+ if (pattern.test(password) && pattern2.test(password) === false && pattern3.test(password) === false) {
+ //鍖归厤鏀捐
+ return true
+ }
+
+ //涓嶅尮閰嶈姹備慨鏀瑰瘑鐮�
+ return false;
+}
+
// 闈炵┖鍒ゆ柇
function isEmpty(obj){
return typeof obj == "undefined" || obj == null || obj === "";
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 0523023..20a7e84 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -52,7 +52,7 @@
<cite id="username" style="margin-right: 5px">绠$悊鍛�</cite>
</a>
<dl class="layui-nav-child">
- <dd lay-unselect><a ew-href="detail.html?resourceId=8">鍩烘湰璧勬枡</a></dd>
+ <dd lay-unselect><a id="personPage" ew-href="detail.html?resourceId=8">鍩烘湰璧勬枡</a></dd>
<hr>
<dd lay-unselect><a id="logout">閫�鍑�</a></dd>
</dl>
@@ -160,6 +160,28 @@
var url = logout.getAttribute('href');
logout.setAttribute('href', baseUrl + "/login");
+ let username = localStorage.getItem('username')
+ let password = localStorage.getItem('password')
+ if (!(username === 'super' || password === 'root')) {
+ if(!checkPassword(password)){
+ //瑕佹眰淇敼瀵嗙爜
+ layer.msg('寮卞瘑鐮佽淇敼瀵嗙爜鍐嶇户缁�', {icon: 2});
+ layer.open({
+ type: 2,
+ title: '鍩烘湰璧勬枡',
+ maxmin: true,
+ shadeClose: false,
+ area: [top.detailWidth, top.detailHeight],
+ content: 'detail.html',
+ closeBtn: 0,
+ success: function(layero, index){
+ layero.find('.layui-layer-min').remove(); //鍘绘帀鏈�灏忓寲鎸夐挳
+ layero.find('.layui-layer-max').remove(); //鍘绘帀鏈�澶у寲鎸夐挳
+ }
+ })
+ }
+ }
+
});
</script>
<script type="text/html" id="menuTpl">
diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index 1c0772a..af1d465 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -133,6 +133,7 @@
if (res.code === 200){
localStorage.setItem("token", res.data.token);
localStorage.setItem("username", res.data.username);
+ localStorage.setItem("password", password);
window.location.href = "index.html";
} else if (res.code === 10001) {
layer.tips(res.msg, '#username', {tips: [4, '#ff0000']});
diff --git a/src/main/webapp/views/password.html b/src/main/webapp/views/password.html
index 70c14d5..623a5ab 100644
--- a/src/main/webapp/views/password.html
+++ b/src/main/webapp/views/password.html
@@ -91,11 +91,27 @@
if (parent.$('#password').val() === hex_md5(val)) {
return "涓庢棫瀵嗙爜涓嶈兘鐩稿悓";
}
+
+ let username = localStorage.getItem('username')
+ if (!(username === 'super' || password === 'root')){
+ if(!checkPassword(val)){
+ //瀵嗙爜蹇呴』鍖呭惈瀛楃鍜屾暟瀛�
+ return "瀵嗙爜蹇呴』鍖呭惈瀛楃鍜屾暟瀛楅暱搴︿笉鑳藉皯浜�8浣嶏紝涓斾笉鑳藉寘鍚繛缁暟瀛楀拰鍥涗綅閲嶅鏁板瓧";
+ }
+ }
},
rePwd: function (val) {
if ($('#password').val() !== val){
return "瀵嗙爜涓嶄竴鑷�";
}
+
+ let username = localStorage.getItem('username')
+ if (!(username === 'super' || password === 'root')){
+ if(!checkPassword(val)){
+ //瀵嗙爜蹇呴』鍖呭惈瀛楃鍜屾暟瀛�
+ return "瀵嗙爜蹇呴』鍖呭惈瀛楃鍜屾暟瀛楅暱搴︿笉鑳藉皯浜�8浣嶏紝涓斾笉鑳藉寘鍚繛缁暟瀛楀拰鍥涗綅閲嶅鏁板瓧";
+ }
+ }
}
});
--
Gitblit v1.9.1