当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:ASP.NET利用Cookie处理网上重复投票
Cookie提供了一种在Web应用程序中存储用户特定信息的方法。例如用户第一次浏览Web网页时,Cookie将会记录下用户登录的IP地址,在Cookie的有效期内,当该用户再次发出浏览比Web站点中页面的请求时,浏览器就会和服务器交换Cookie信息,识别该用户的身份。本文章示例就是利用这个特性自定义Cookie对象来防止重复投票。
在本示例中,将客户端的IP地址保存在Cookie对象中,主要代码如下:
//创建HttpCookie类型的对象并为它分配名称为userID
HttpCookie newCookie = new HttpCookie(“userIP”) ;
//为Cookie的子项赋值,即将客户端IP地址赋给Cookie的子项,并将其命名为IPaddress
newCookie.Values.Add(“IPaddress”,UserIP);
//设置Cookie的失效期
newCookie.Expires=DateTime.MinValue;
//将该Cookie添加到Cookies集合中
Response.Cookies.Add(newCookie);
注意:在编写代码时,可以根据实际情况设置Cookie的实效期。如果没有设置Cookie失效期,他们仅保存到关闭浏览器程序为止;如果将Cookie对象的Expires属性设置为MinValue,则表示Cookie永远不会过期。当然,还可以将Cookie对象的Expires属性设置为具体某一天,例如将上述代码中Cookie对象的失效期设置为当前系统时间的下一天,代码如下:
newCookie.Expires =DateTime.Now.AddDays(1);
从Cookie中获取客户端的IP地址并判断该IP地址是否已访问过网络,如果已访问过,则弹出提示框,提示用户,主要代码如下:
//获取客户端IP地址
String UserIP=Request.UserHostAddress.ToString();
//获取名为userIP的Cookie对象
HttpCookie oldCookie =Request.Cookies[“userIP”];
//判断该Cookie对象是否存在
If(oldCookie!=null)
{
//从Cookie中获取客户端IP地址
String userIP =oldCookie.Values[“IPaddress”];
If(UserIP.Trim()==userIP.Trim())
{
Response.Write(“<script>alert(‘一个IP地址只能投一次票,谢谢您的参与!’);history.go(-1);</script>”);
Return;
}
}
评论 (0) All