首页新闻找找看学习计划

新人求教 如何防止用户刷留言

0
悬赏园豆:50 [已解决问题] 解决于 2009-06-16 15:36

做了个留言板,可不想让别人一直留言,

比如他一直发同一句话,就不让他留言了。

看到qq空间有这个功能,请问谁知道这是怎么做的哦?

clound的主页 clound | 菜鸟二级 | 园豆:481
提问于:2009-06-12 01:25
< >
分享
最佳答案
0

 

一般都是通过验证码防止用户滥发信息的我这里有验证码的例子来看看吧!!!

http://www.cnblogs.com/sufei/archive/2009/05/07/1485984.html

 

防止用户重发信息也很简单,只要把发布的内容拿到数据库里和已发留言做比较,如果相同就提示他不能提交也可以不存入数据库的,呵呵这样也可以

还有一种方法是通过判断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
            {
                //可以提交
            }

苏飞 | 老鸟四级 |园豆:2024 | 2009-06-12 10:02
其他回答(4)
0

一般都是通过验证码防止用户滥发信息的

防止用户重发信息也很简单,只要把发布的内容拿到数据库里和已发留言做比较,有相同的就不存入数据库就好

还有一种方法是通过判断10分钟内同一IP地址的提交次数,来决定是否屏蔽该IP地址

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-06-12 03:05
0

屏蔽IP是个好办法,呵呵,具体做法我也不会!

子夜星辰 | 园豆:1613 (小虾三级) | 2009-06-12 08:05
0

如果应用很简单,或者对安全性要求不高,仅仅是为了防止人为手动的刷留言,我想脚本上使用 cookie 计数进行单位时间发言次数限制就可以了。

陛下 | 园豆:3938 (老鸟四级) | 2009-06-12 09:20
0

学习.一楼的回答 苏飞的回答学习

邢少 | 园豆:10922 (专家六级) | 2009-06-12 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册