2013-01-23 30 views
3

我正在製作一個腳本,只顯示彈出一次,然後它將永遠不會再顯示在該設備上。互聯網連接設備IP/MAC的唯一身份是什麼?

這怎麼可能做到這一點?

我已經嘗試使用cookie,但這些可以由用戶刪除,所以效果是有限的。

另一個問題是每個設備的IP地址或MAC地址是完全唯一的嗎?

+3

你想達到的目標無法完成。只要讓它去,併爲餅乾感到高興。 ;) – Yoshi

+0

存儲設備信息是錯誤的。 – hjpotter92

+0

除了cookie,你不能存儲太多的用戶端。你的身邊(服務器)你可以保存客戶端的IP地址並檢查它是否已被使用。但你知道* dhcp *&al。地址變化。 MAC是在數據鏈路層使用的低層地址 - 你不應該訪問MAC地址客戶端。兩個(公共)IP和MAC在給定時間都是唯一的。 –

回答

4

唯一的辦法是一個cookie。關於您在HTTP請求中訪問的計算機,沒有100%唯一標識。是的,cookies可能會被用戶刪除。這是故意的,與它一起生活。

3

最明顯的兩個選項是Cookie或帳戶上的標記(如果您的用戶已通過身份驗證)。

儘管您已經提到可以刪除cookie,但它仍然是一種可靠的形式,表示「我之前爲此客戶做過某些事情」。如果用戶刪除了cookies,那麼他們很有可能知道他們在做什麼,並且應該期望不得不重複執行任務(例如登錄到其他網站)。

如果您的用戶已通過身份驗證(即:他們必須登錄到您的網站/服務),那麼您可以輕鬆存儲標誌,說明用戶已經顯示通知。

這種方式當然更可靠,但依賴於認證。長話短說:您需要拿到您可以獲得的東西,而Cookie是您擁有某種形式的唯一設備ID的最佳選擇。

關於你的另一個問題:現實中沒有什麼是獨一無二的。 MAC地址(您無法訪問)可能被欺騙,並且可以共享IP。

+0

那麼,你可以使用DNA樣本。那麼你只需要注意雙胞胎。爲了確保某人不給別人提供樣品,你應該親自繪製。 –

+0

@DavidSchwartz肯定。但是如果你要公開DNA的採樣位置,他們也可能爲你的測試欺騙它! –

2

都不是。數以百萬計的互聯網設備的IP地址爲192.168.0.2。所以這不是唯一的。而MAC地址根本不是互聯網的東西,它們是以太網的東西。

如果您更詳細地解釋您的外部問題,可能有解決方案。但是,聽起來你已經說過,這聽起來很奇怪。兩個不同設備上的同一個人應該彈出兩次?但是在同一臺機器上有兩個人,第一個人應該只有這個人?很難想象一個用例,你應該盡力確保這一點。

相關問題