台灣最大程式設計社群網站
線上人數
1126
 
會員總數:246133
討論主題:189712
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 使用GOOGLE COOKIE疑問
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
使用GOOGLE COOKIE疑問
價值 : 100 QP  點閱數:164 回應數:7
樓主

精載
初學者
10 63
925 90
發送站內信

各位大大好我使用VS2012 + C# 開發WEB,而在開發WEB大量使用COOKIE記錄使用者本機訊息,此功能原本是OK
但好像今年2.3月時GOOGLE瀏覽器封鎖第3方COOKIE後,造成WEB的COOKIE內容無法更新(試過其它瀏覽器如:火狐是可以的)
請問各位大大此問題除了換瀏覽器外如何處理與解決GOOGLE COOKIE問題???




搜尋相關Tags的文章: [ GOOGLE COOKIE ] ,
本篇文章發表於2020-10-19 09:36
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
首先是一個好奇
Chrome封鎖的是第三方的Cookie
但是您卻說存取受了影響?

您的Cookie存取是寫在哪?
公用的JS Library?

其次:
也許可以換個做法(也許要改寫很多)
存Cookie只需存資料庫存取的一組Key(Token)
實際資料還是存在資料庫中
透過後端去存取相關的資料
本篇文章回覆於2020-10-20 12:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

精載
檢舉此回應
我COOKIE就按照網路上說明C#存取COOKIE程式碼的寫法,沒特別寫當然說到LIB我也沒安裝過COOKIE相關LIB,當然用資料庫方法也曾想過只是因為COOKIE用量大且此WEB是同時給很多CLIENT使用所以主要考慮到速度問題。另外就是是否語法寫錯,其實我自己也曾懷疑過而在3確認無誤,並且在開發時按RUN預覽COOKIE功能是正常(可正常存取更新刪除).但一但發布後就只能存第一次寫入的COOKIE無法刪除跟更新(一樣能讀)
----------------------------------------------------------------------------------------------
我用別的瀏覽器試過(FIREFOX)在開發按RUN預覽跟發布都正常,只有GOOGLE Chrome的會有這問題(但這在之前是好的.直到2.3月才出現此問題)
本篇文章回覆於2020-11-18 13:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
是否方便貼出您存Cookie那一段,以及讀取、維護Cookie的相關程式碼
這樣好依據您的程式碼,進行測試與協助找問題

^.^a
本篇文章回覆於2020-11-18 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

精載
檢舉此回應
我的程式流程如下:1.登入時新增一使用者COOKIE -> 2.於使用者COOKIE中新增一屬性 -> 3.更新屬性的值 -> 4.登出刪除COOKIE
使用:OGLE Chrome在VS開發案RUN預覽:1~4步驟都OK,發布後只有1是OK
FIREFOX:不敢VS開發還是發布1~4都OK

//---登入新增一COOKIE


//---新增一COOKIE中屬性


//---更新新增屬性中的值



//---登出刪除COOKIE

本篇文章回覆於2020-11-19 09:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
原本想說存Cookie時是否有針對domain有特別處理
看起來是沒有

我沒有仔細的試過

不過如果真的Cookie有狀況不合適
或許可以轉用HTML5的WebStorage來存放

https://www.huanlintalk.com/2012/06/html5-web-storage.html

可存放的量也會比較大

---

另外,其實存Cookie使用者很容易透過工具去修改內容
您又是使用於登入後的紀錄
安全上會有些疑慮,這部分提醒您注意
小喵我舉個例子
假設您存放的員工代號(假設:A00001)
使用者員工代號又可能是順號
如果您的程式再拿這個員工代號來當作查詢的條件
就很容易的經由工具修改Cookie內容(改成:A00002)
輕鬆地就可以存取別人帳號的資料


一般比較建議的做法是
在Cookie(或WebStorage)存放Token(不規則不容易猜測、有時效性)
其他關資料有需要取用,再透過Token跟資料庫要相關內容

以上訊息提供您參考

^_^
本篇文章回覆於2020-11-19 11:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

精載
檢舉此回應
存一Token方式想過,只是這是之前寫的就想說等要做新的專案再改寫法。另外想問一下大大HTML5的WebStorage來存放適用JS存取的嗎?沒有C#存取的嗎?因為我JS不熟悉,另外看了文章或許在應用上能取代COOKIE
本篇文章回覆於2020-11-19 15:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
C#存取WebStorage
目前只有在Blazor中有看到

還是需要用JS來處理唷
由後台動態產生JS處理

順帶一提
後台動態產生JS,不要用Response.Write唷
https://dotblogs.com.tw/hatelove/2009/10/28/11325

本篇文章回覆於2020-11-19 16:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.