可以两种方式设置cookie有效期:javascript设置和服务器脚本语言设置(有php或者java或者asp或者.NET)、js:cookie有效期是一天 function myCookie(name,value,time){ //函数名字自己随意定义,zxm是我名字 var exp=new Date(); exp.setTime(exp.getTime()+time*60*24*60*1000); //这里的time就是天数 document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString(); } myCookie("mn","zxm",1)//这就是一天 把过期时间设为当天有效(过了晚上0点就失效) function SetCookie(name,value){ var str=name+"="+escape(value); var dd = new Date()(); dd.setDate()(dd.getDate()()+1);//获取明天 var y = dd.getYear(); var m = dd.getMonth()+1;//获取当前月份的日期 var d = dd.getDate(); date = new Date(y+'-'+m+'-'+d+' 00:00:00'); date.setTime(date.getTime());//明天的0:00:00 str+=";expires="+date.toGMTString(); document.cookie = str; } 然后 <body onload='myCookie("mn","zxm",1)'></body>
1、先建立一个表:里面有字段id(编号)、ip(ip地址)、time(当天第一次访问的时间)
2、获取用户访问的ip地址,在数据库表中查询当天是否有这个ip地址,不存在就添加入表中,存在则不做其他操作。
这样可以做到一天只能访问一次,也可以实现当天的访问量统计,总访问量统计。
中国国家地质官网应该就是这样,我试了一个浏览器打开,访问量只增长一次,但我清除了Cookie后 或是用其他浏览器再打开一次,就增长了。
一般游览性网站这样就行了,给Cookie设置一个有效时间就可以了。JSP:(我这里没Cookie设置)
验证码-ip-cookie来分辨一次有效的投票。验证码可以复杂点,可以要求对方注册才可以投票,在注册的用户表中加一标识位。有位网友的想法很有意思:同一个ip+cookie+验证码来分辨一次有效的投票。
但是不要告诉用户他的投票实质上是不是有效。
既然技术手段上做不到杜绝假票,你可以尝试社会工程学。
你给用户一个他们可以投很多票的假相,而实际上你已经暗中区分出来哪些是无效的票,但是你不要直接告诉他们。
(前台仅加一个验证码,把IP限制和Cookie限制在后台处理,就让用户傻傻地刷票吧)
其实在线投票系统都是不可靠的,不可能完全防止刷票~只有相对的,没有绝对的~呵呵~
function myCookie(name,value,time){ //函数名字自己随意定义,zxm是我名字
var exp=new Date();
exp.setTime(exp.getTime()+time*60*24*60*1000); //这里的time就是天数
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
}
myCookie("mn","zxm",1)//这就是一天
把过期时间设为当天有效(过了晚上0点就失效)
function SetCookie(name,value){
var str=name+"="+escape(value);
var dd = new Date()();
dd.setDate()(dd.getDate()()+1);//获取明天
var y = dd.getYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
date = new Date(y+'-'+m+'-'+d+' 00:00:00');
date.setTime(date.getTime());//明天的0:00:00
str+=";expires="+date.toGMTString();
document.cookie = str;
}
然后 <body onload='myCookie("mn","zxm",1)'></body>