您的跟蹤給定的瀏覽器帶有某種瀏覽器的識別ID的(所以你可能知道一個給定的用戶是誰)的選擇是:
- 餅乾
- 本地存儲
你用於存儲1200個按鈕的狀態的選擇是:狀態理論值的
- 服務器側存儲在由服務器提供給網頁
- 餅乾(可能有數據崩潰到一個位每BUTTON0
- 本地存儲
因此,舉例來說,你可以結合存儲瀏覽器identifing值在cookie中將實際的按鈕狀態存儲在服務器端數據庫中。然後,在呈現頁面時,可以在數據庫中查找cookie中的browserID的按鈕狀態,並禁用或從呈現的HTML頁面中刪除相關按鈕。
通過將1200個按鈕的狀態摺疊爲每個按鈕一個位,您可以完成cookie中的所有存儲。使用AZ和az以及0-9和幾個符號,每個字符可以輕鬆地擁有64個值,這樣您可以爲每個字符存儲32個按鈕的開/關狀態,因此可以存儲1200個按鈕的開/關狀態用38個字符,很容易裝入cookie中。如果您還必須爲每個按鈕存儲時間/日期,那麼這將不適合cookie,因此您將留給服務器端存儲或本地存儲。
僅供參考,我希望您明白,任何客戶端方案都很容易解決。事實上,如果您只是試圖阻止用戶多次訪問同一個網址,他們只需爲原始網址添加書籤,並且即使訪問您的網頁,他們也可以隨時隨地前往該網址。或者,他們只需擦除cookie或本地存儲。或者,他們可以轉到不同的瀏覽器。
防止多次訪問的唯一方法是要求用戶驗證並驗證(在您的Web服務器上)允許給定的登錄用戶在呈現頁面之前訪問任何給定的頁面。所以,如果你想強有力地做到這一點,那麼它必須全部在服務器端完成,你需要某種類型的站點登錄。
唯一的另一種方法來完成這是保存IP,但設置這個數據在一個cookie是沒有什麼,我建議:留下來餅乾 – Soundz
我想使用餅乾,但鏈接太多,除此之外沒有限制多少餅乾任何一個瓦特ebsite可以在用戶的機器上設置? –
如果需要,您可以將表單序列化並將所有內容存儲在一個cookie中。 –