关于一个时间判断的问题~
网站出现一个问题~ 有几个用户 可以 绕过对时间判断~ 可以 连续的发信息~
大家帮忙看看 逻辑有问题没~
还有谁 遇到类似的问题 提供个解决办法呗~
程序代码:
string rlt = user.Get_Last_Time(uid); DateTime dtone = Convert.ToDateTime(rlt); DateTime dttwo = Convert.ToDateTime(DateTime.Now); TimeSpan span = dttwo.Subtract(dtone); int min = Convert.ToInt32(span.Minutes); int hour = Convert.ToInt32(span.Hours); if (span.TotalMinutes<=30) { Response.Write("<script>alert('30分钟之内不得在发信息!');location.href='javascript:history.back()'</script>"); } else { Msg msg = new Msg(); bool rinfo = msg.Leave_message(msg_info); if (rinfo == true) { Response.Write("<script>alert('发布信息成功!');location.href='index.aspx';</script>"); } else { Response.Write("<script>alert('发布信息失败!');location.href='javascript:history.back()';</script>"); } } // 获取用户的最后一条留言时间 public static List<Msg_info> Get_Last_time(int uid) { SqlConnection conn = DBHelper.Createconn(); string sql = "SELECT TOP(2) * FROM [Msg_info] WHERE uid=@uid ORDER BY msgid DESC"; List<SqlParameter> param = new List<SqlParameter>(); param.Add(new SqlParameter("@uid",uid)); SqlDataReader reader = DBHelper.Select(sql,param,conn); List<Msg_info> msg_infos = new List<Msg_info>(); while (reader.Read()) { Msg_info msg_info = new Msg_info(); msg_info.adddate = Convert.ToDateTime(reader["adddate"]); msg_infos.Add(msg_info); } conn.close(); return msg_infos; }
[ 本帖最后由 wang4142 于 2010-9-21 11:50 编辑 ]