有沒有一種方法可以檢查瀏覽器是否允許Cookie。檢查瀏覽器是否接受Cookie
Request.Browser.Cookies
禁用cookie時不起作用。它說瀏覽器可以支持他們。
我能想到的唯一的其他事情就是嘗試設置一個測試cookie,然後檢查它是否設置。
無論如何,確保cookies實際上已啓用。
有沒有一種方法可以檢查瀏覽器是否允許Cookie。檢查瀏覽器是否接受Cookie
Request.Browser.Cookies
禁用cookie時不起作用。它說瀏覽器可以支持他們。
我能想到的唯一的其他事情就是嘗試設置一個測試cookie,然後檢查它是否設置。
無論如何,確保cookies實際上已啓用。
根據MSDN,無法確定用戶允許或禁止Cookie。找出答案的唯一方法就是寫出來然後閱讀。
查看「確定瀏覽器是否接受Cookie」部分here。
它也有例子,顯示瞭如何讀取和寫入的cookie,並指出:
餅乾財產並不表示餅乾是否已啓用。它僅指示當前瀏覽器是否固有地支持 cookie。
我不知道任何方式在asp.NET中做到這一點。你所能做的就是創建一個cookie並嘗試在回發中讀取它。
你可以看到例如如何做到這一點(這是vb.NET,但我敢肯定,你可以在谷歌許多其他例子,在C#中找到):http://forums.asp.net/t/1044823.aspx
我不知道其他的方法: 設置cookie,檢查cookie是否存在。
大家都表示,你基本上需要設置,重定向檢測(除非你想在這種情況下,JavaScript可以做檢查僅客戶端檢測) 有a control for this someone wrote.
HttpCapabilitiesBase.Cookies屬性獲取一個值指示瀏覽器是否支持Cookie。 See the documentation.
從文檔:「Cookies屬性表明瀏覽器應用程序是否支持cookie,如果用戶在其應用程序中禁用了cookie,則Cookie屬性不會受到影響。」 –
確定cookie是否被接受的一種方法是嘗試寫入一個cookie,然後嘗試再次讀取它。如果您無法閱讀您所寫的Cookie,則認爲瀏覽器中的cookies已關閉。 –
毫不奇怪,唯一的答案是將cookie寫出來,並在您認爲cookie如何工作時嘗試將其讀回來 - 一個http響應設置了一個標題,然後瀏覽器只在從該exac請求時才吐出該響應相同的域名 - 如果三個是另一種方式來做到這一點,那麼cookie不會對身份驗證等事情有好處 –