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