网站投票 只能让每个客户端投一次,用COOKIE记录该客户端是否已经投票,如果投过怎么辨认出已经投过,这在编程中应该怎样进行处理,希望知道的高手能指点指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 记录IP (指不需要用户登陆的)如果是需要登陆后才能投票的(则记录COOKIES) 定义一个变量用来存储已投过票的dim Record as stringRecord+=id(IP) & ","//以逗号分割每次投票前先判断if id(ip) in Record then //伪码 可以通过split(Record,",")分割,在定义一个数组(不过当数据量很大时,开销也很大)遍历数组//投过票了else//可以投票Record+=id(IP)end if HttpCookie voteCookie=Request.Cookies["SSNUSER"]; if(voteCookie!=null) { return; } else { voteCookie=new HttpCookie("SSNUSER"); voteCookie.Path="/"; voteCookie.Expires=DateTime.Now.AddDays(1); Response.Cookies.Add(voteCookie); } 记录IP是个好方法,不过我想比如一台已经访问他的机子上面就保存一个COOKIE,那么下次如果有去访问的话,如果已经存在一个这样的COOKIE那么就不能在访问,这样可以实现吗? HttpCookie voteCookie=Request.Cookies["SSNUSER"]; if(voteCookie!=null) { return; } else { voteCookie=new HttpCookie("SSNUSER"); voteCookie.Path="/"; voteCookie.Expires=DateTime.Now.AddDays(1); Response.Cookies.Add(voteCookie); }这个就能实现我前面说到的那个想法吗? 用ip控制就象xrascal(横刀夺爱) 说的一样,网吧里一人投了票,其他人就投不了了,用cookies控制要讲究技巧,不是投过票就写入cookies里一个值,那样的话,万一过段时间其他人又要投票就投不进了。不过可以采用往cookies里写入时间值,判定多少时间以后可以再次投票,一般人投过后再投投不进就算了,基本可以避免造票,采用数据库登陆后记录投票情况来限定每个用户只能投一次,作弊的办法就是多注册几个帐号。个人认为投票系统用cookies写时间的方法比较好,也简单,投票也方便,防作弊的效果也比较好。 数据表格主键生成 伪静态重写 asp.net越学越简单 JS如何给客户端下拉菜单增加选项 附加到SqlServer2005(VS.NET2005)中的数据库,被改写了,无法再在2000中使用 vs2005+ajax中選擇一個下拉框後,好像其它的下拉框也刷新了一下 ajax问题请高手们指教(.NET2005) 如何控制javascript的前一个,后一个 如何设置模版列的头文本(HeaderText)(急!!!) 初学者,问个问题!~ 帮忙解答几个棘手的问题。谢谢! xml搜索优化算法
如果是需要登陆后才能投票的(则记录COOKIES)
定义一个变量用来存储已投过票的
dim Record as string
Record+=id(IP) & ","//以逗号分割
每次投票前先判断
if id(ip) in Record then //伪码 可以通过split(Record,",")分割,在定义一个数组(不过当数据量很大时,开销也很大)遍历数组
//投过票了
else
//可以投票
Record+=id(IP)
end if
if(voteCookie!=null)
{
return;
}
else
{
voteCookie=new HttpCookie("SSNUSER");
voteCookie.Path="/";
voteCookie.Expires=DateTime.Now.AddDays(1);
Response.Cookies.Add(voteCookie);
}
if(voteCookie!=null)
{
return;
}
else
{
voteCookie=new HttpCookie("SSNUSER");
voteCookie.Path="/";
voteCookie.Expires=DateTime.Now.AddDays(1);
Response.Cookies.Add(voteCookie);
}
这个就能实现我前面说到的那个想法吗?
用cookies控制要讲究技巧,不是投过票就写入cookies里一个值,那样的话,万一过段时间其他人又要投票就投不进了。不过可以采用往cookies里写入时间值,判定多少时间以后可以再次投票,一般人投过后再投投不进就算了,基本可以避免造票,采用数据库登陆后记录投票情况来限定每个用户只能投一次,作弊的办法就是多注册几个帐号。个人认为投票系统用cookies写时间的方法比较好,也简单,投票也方便,防作弊的效果也比较好。