一个有趣的问题,求大神解释
数据库:一个Uid对应一个Upwd和一个Uname(目前只有两个账户)
一个老同事调戏菜鸟,在登陆界面的密码框里输入了一些不知道什么的东东(密码框有限制20个字符以内),然后我的网页就悲剧了,两个账户的Uname变成了同一个,求解释,求解决办法?
ps:登陆界面的sql语句:
String sql="select * from userinfo where Uid='"+username+"' and Upwd='"+password+"'";
rs=st.executeQuery(sql);
if(rs.next()){
session.setAttribute("u_name",rs.getString("Uname"));
}


" Uid='"+username+"' " 这个应该是有错的, 是写错了, 还是写错了!!
session的会话周期看看, 如果没错的话, 应该是在同一浏览器中打开两个链接。 第一次的session值被覆盖了。
[解决办法]
好深奥的样子...
[解决办法]
sql注入了.. 不要用String拼接SQL语句 容易被sql注入 如果是hibernate可以尝试用setParam
[解决办法]