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 已被禁用!");
}