程序开发 > C# > 正文

C# 判断客户端是否禁用Cookie的方法

亮术网 2020-07-22 本网原创

出于安全方便的考虑,有些客户端把 Cookie 禁用了,当要用 Cookie 来保存一些信息(尤其是一些很关键的信息),就需要判 断客户是否禁用了 Cookie,该如何判断呢?

由于没有直接判断方法,只能间接判断。具体方法是,可以设置一个 Cookie 值,然后取这个值,看能不能取到,能取到说明 Cookie 没有被禁用;反之,说明被禁用。具体实现代码如下:

 

1、设置 Cookie 值的方法

/// <summary>
  /// 设置 Cookie 值
  /// </summary>
  /// <param name="cookieName">Cookie 名称</param>
  /// <param name="val">待保存的值</param>
  /// <param name="expireTime">过期时间</param>

  public void SetCookie(string cookieName, string val, int expireTime)
  {
    Response.Cookies[cookieName].Value = val;
    Response.Cookies[cookieName].Expires = DateTime.Now.AddHours(expireTime);
  }

 

2、获取 Cookie 值的方法

/// <summary>
  /// 获取 Cookie 值
  /// </summary>
  /// <param name="cookieName">Cookie 名称</param>
  /// <return>过期时间</return>

  public string GetCookie(string cookieName)
  {
    if(Request.Cookies[cookieName] != null)
      return Request.Cookies[cookieName].Value.ToString();
    else
      return string.Empty;
  }

 

3、在页面载入事件中判断

protected void Page_Load(object sender, EventArgs e)
  {
    SetCookie("isDisable", "ok", 6);

  if (GetCookie("isDisable") != string.Empty)
      Response.Write("Cookie 没有被禁用!");
    else
      Response.Write("Cookie 已被禁用!");
  }