对输入数据做好异常检验(比如非法,数据过长,数据类型不匹配等),一方面是用户体验的问题,用户会错误操作,如果我们没处理,则会进入系统预期运行状态外,不方便用户操作。一方面也是有安全性的问题。
比如,在输入用户名时,如果没有做好异常检验时,当输入出错时,则会调用java程序的一些机制来抛出异常,并显示在页面上。比如有:
java.sql....... error ... ‘useName’ too long
这样子,当sql出错报错后,会把有关数据库的信息暴露出来,让别人知道数据库里某一字段的名称,以供sql注入的黑客操作,让别人知道你的服务器的版本,以供针对这一版本的漏洞进行攻击等等安全性的问题。
这就是漏洞。