C# 判断客户端是否禁用Cookie的方法
出于安全方便的考虑,有些客户端把 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 已被禁用!");
}