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

ASP.NET
VS2008SP1下jQuery使用初体验
使用asp.net 2.0中的SqlBulkCopy类批量复制数据
asp.net定点执行任务总结
通过webBrowser 来轻松模拟网页来源
ASP.NET框架 数据回发与事件回发
浅谈ASP.NET内部机制
通用语言规范
GC垃圾回收
ASP.NET 配置
ASP.NET 安全认证
ASP.NET生成复合控件
asp.net中forms验证
DataTable中数据记录的统计
关于无aspx文件部署,我的一些探索心得
ASP.NET刷新页面的六种方法
ASP.NET MVC应用程序的本地化、单元测试
详解ASP.NET的四种状态
.NET与Java间进行Web Service交互的选择
自己动手实现Asp.net的MVC框架
ASP.net中网站访问量统计方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 433 ::
收藏到网摘: 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;

  }

}