1 问题描述:
用户名、密码输入字段未经加密即进行了传递。
2 整改建议:
确保所有登录请求都以https加密方式发送到服务器。
3 案例:
方法一:配置SSL加密传输
【概念理解】keystore 是一个密码保护的文件,用来存储密钥和证书
(1)生成一个keystore文件(包含证书),文件位置/usr/local/tomcat/conf/.keystore(Linux系统) # cd /usr/local/jdk/bin/
# ./keytool -genkey -alias tomcat -keyalg RSA -keystore/usr/local/tomcat/conf/.keystore 若是xp系统则只需要下边一条语句即可 keytool -genkey -alias tomcat D:/apache-tomcat-6.0.20/conf/tomcat.keystore
-keyalg
RSA
-keystore
输入密码、提供你的信息即可。如果不是用来“玩”的话,请如实的填写自己以及单位的信息吧。
【注意】它会在前后问你两次密码,第二次直接回车就行了,如果两个密码不一样,将会出现java.io.IOException错误。
(2)修改tomcat/conf/server.xml
在server.xml文件中启用如下一段代码:
maxThreads=\ keystoreFile=\ keystorePass=\ clientAuth=\注:keystoreFile和keystorePass两个属性,是指定存放证书的路径(如:keystoreFile=\)和刚才设置的密码(如:keystorePass=\) (3)重启Tomcat # /usr/local/tomcat/bin/shutdown.sh # /usr/local/tomcat/bin/startup.sh Xp系统下启动tomcat的方法省略。 (4)防火墙开启8443端口 浏览器输入:https://192.168.32.50:8443/可以进行验证,如能正常打开页面,则说明配置合 适,如果不能配置有问题。 方法二:把text=\这个用其他的代替,就可以解决已解密的登录请求,仅共参考 密 码: onkeypress=\ hiddenPass(event)\ js代码 functionhiddenPass(e){ e = e ? e : window.event; var kcode = e.which ? e.which : e.keyCode; var pass =document.getElementByIdx_x(\var j_pass = document.getElementByIdx_x(\if(kcode!=8) { var keychar=String.fromCharCode(kcode); j_pass.value=j_pass.value+keychar; j_pass.value=j_pass.value.substring(0,pass.length); } } 获取密码:document.getElementByIdx_x(\ :