做了个留言板,可不想让别人一直留言,
比如他一直发同一句话,就不让他留言了。
看到qq空间有这个功能,请问谁知道这是怎么做的哦?
一般都是通过验证码防止用户滥发信息的我这里有验证码的例子来看看吧!!! 防止用户重发信息也很简单,只要把发布的内容拿到数据库里和已发留言做比较,如果相同就提示他不能提交也可以不存入数据库的,呵呵这样也可以 还有一种方法是通过判断5分钟内同一IP地址的提交次数,来决定是否屏蔽该IP地址屏蔽IP的方法有很多种, 实现方法在用户第一次提交的时候创建一个Cookie
HttpCookie cookie = new HttpCookie("cookes");
//设置cookie有效期
cookie.Expires = DateTime .Now .AddMinutes(5);
//cookie存放路径
cookie.Path = Server .MapPath();
//添加到Cookies集合中
Response.Cookies.Add(cookie);
在用户下次提交的时候看一下cookie是不是还存在,如果存在就说明还不到5分钟,如果不存在了就说了5分钟了,可以进行提交了这样不就行了吗
if (Response.Cookies["cookes"] != null)
{
//不可以提交
}
else
{
//可以提交
}
一般都是通过验证码防止用户滥发信息的
防止用户重发信息也很简单,只要把发布的内容拿到数据库里和已发留言做比较,有相同的就不存入数据库就好
还有一种方法是通过判断10分钟内同一IP地址的提交次数,来决定是否屏蔽该IP地址
屏蔽IP是个好办法,呵呵,具体做法我也不会!
如果应用很简单,或者对安全性要求不高,仅仅是为了防止人为手动的刷留言,我想脚本上使用 cookie 计数进行单位时间发言次数限制就可以了。
学习.一楼的回答 苏飞的回答学习