当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:ASP.NET利用Cookie处理网上重复投票

ASP.NET
ASP.NET:小编教你使用Substitution控件在缓存页面插入内容
ASP.NET:网络上实现单点登录
ASP.NET:小编浅谈泛型的使用
ASP.NET:网络验证的一些技巧杂谈
ASP.NET:小编教你实现数字和英文字母组合的验证码图片
ASP.NET:页面尺寸自动适应 1024*768和800*600分辨率
ASP.NET:如何复制数组中一系列元素的元素
ASP.NET:小编谈用Remoting技术传送文件

ASP.NET:ASP.NET利用Cookie处理网上重复投票


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 432 ::
收藏到网摘: n/a

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();

//获取名为userIPCookie对象

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;

  }

}