SpringMVC防止浏览器记住表单用户名称和密码的方法
**
Chrome等浏览器能够自动保存表单提交的用户名称和密码,在用户下次登录时可以自动填写表单。但有时候为了安全需要清除浏览器这些行为,具体办法如下:
1,代码清除cookie
@RequestMapping("/admin/loginUrl")
public ModelAndView login(Member login,HttpServletRequest request,HttpServletResponse response) {
Cookie[] cookies = request.getCookies();//获取一个cookie数组
if (null!=cookies) {
for(Cookie cookie : cookies){
cookie.setValue(null);
cookie.setMaxAge(0);// 立即销毁cookie
cookie.setPath("/");
response.addCookie(cookie);
}
}
2,修改表单
添加autocomplete="off"属性到form或文本输入框
修改密码框type=text,在获取焦点时再修改type为password,添加属性οnfοcus=“this.type=‘password’”
并添加autocomplete=“new-password” 属性
在用户登录和密码框之间再加上一个input,可阻断浏览器自动保存(一般默认保存第一个password输入框密码)
完整的表单如下: