下载后可任意编辑常见安全漏洞和解决方案12024 年 4 月 19 日下载后可任意编辑1.1 身份认证安全1.1.1 弱密码密码长度 6 个字符以上密码字符必须包含大写字母、小写字母和数字,并进行密码复杂度检查强制定期更换密码1.1.2 密码存储安全密码存储必须使用单向加密单纯的 md5,sha1 容易被破解,需要添加随机的盐值 salt涉及支付及财产安全的需要更高的安全措施,单纯的密码加密已经不能解决问题。能够考虑手机验证码、数字证书、指纹验证。22024 年 4 月 19 日下载后可任意编辑1.1.3 密码传输安全1.1.3.1 密码前端加密用户名、密码传输过程对称加密,能够使用密钥正确对称加密,前端使用公钥加密,后端使用私钥解密。前端加密示例引入脚本,rsa 加密工具和 md5 加密工具......前端加密脚本,省略了提交步骤……注意:前端密码加密假如还用了 md5 加密的,先 md5 加密再 rsa加密。后端解密,省略了其它验证步骤ShiroUserServiceImpl.java…public ShiroUser getUser(String name, Integer userType, Integer loginType) {name = RSAUtils.decryptBase64(name);…}…public boolean doValidUser(ShiroUser shiroUser, String password) {password = RSAUtils.decryptBase64(password);…}1.1.3.2 启用 https 协议登录页面、支付页面等高危页面强制 https 协议访问。前端加密和 https 能够结合使用42024 年 4 月 19 日下载后可任意编辑1.2 SQL 注入1.2.1 描述SQL 注入攻击是黑客对数据库进行攻击的常见手段之一。随着 B/S 模式应用开发的进展,使用这种模式编写应用程序的程序员也越来越多。可是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行推断,使应用程序存在安全隐患。用...