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

ASP.NET
一些很酷的.Net技巧
Asp.Net2.0的新技术缓存通知
在ASP.NET中使用.NET组件
在ASP.NET中自动给URL地址加上超链接
.NET 窗体之间的交互
六大ASP.NET实用技巧
ASP.Net中实现RSA加密的方法
ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET中MD5和SHA1加密的几种方法
水晶报表PUSH模式多个表数据的显示
用.NET 操作Excel编程
ASP.NET 页面事件顺序和生命周期
用.Net的Web服务实现天气预报[转]
在ASP.NET下实现数字和字符相混合的验证码
在ASP.NET中调用存储过程方法新解
ASP.NET验证控件详解
ASP.NET中实现模版的动态加载
Asp.Net中带图片的重填按钮
如何在.Net 中把图片存入数据库
asp.net的MVC编程、MV编程以及URL重写

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


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

  }

}