2011-01-14 46 views
0

我的要求是我有一個網站的一部分,應該允許用戶從一個系統訪問。他可能會使用不同的IP,如果系統相同,他應該能夠訪問。我的網站使用PHP。做一些R & D我發現如此JS有助於獲得MAC地址,如果訪問者正在使用IE瀏覽器。我的情況是我不能限制用戶使用IE。他可以使用任何瀏覽器。有什麼方法可以獲得MAC地址嗎?如果不可能,我應該如何限制同一用戶訪問來自不同計算機的內容。獲取網站訪問者活動lancard的MAC地址?

回答

2

編號MAC地址在本地網絡之外無用,所以它們在上層(例如應用層)不可用。使用Javascript來獲取地址並不完全是萬無一失的,因爲對於某人來說操作起來非常容易。

如果您想要限制用戶可以訪問您的網站的主機,您需要在瀏覽器中使用存儲持久性的方法來存儲密鑰 - 這些密鑰可以唯一標識它們。有些論壇使用這種方法來抓住試圖繞過禁令的人。

您應該生成某種隨機密鑰(或者加密一個字符串),並將其與要識別的用戶一起存儲在服務器端,然後將該密鑰存儲在cookie/localStorage中。

雖然,有清除其cookie的用戶的明顯的問題...

希望,讓你有點頭開始的。

1

丹尼爾是正確的,嘗試使用MAC地址是不實際的。

爲了您的目的,您可能需要使用幾個圖層。餅乾是一個開始的好地方。如上所述,它們可以被清除。用戶也可能關閉了cookie。 Cookies也以純文本形式存儲在他們的計算機上,用戶可以很容易地進行修改。

你也可以用PHP實現會話。每個會話對於每個系統和瀏覽器都是唯一的。如果用戶切換瀏覽器或重新啓動其當前瀏覽器,則會話將重新創建。

你也可以檢查他們的用戶代理字符串。每個瀏覽器和每個系統「最有可能」都會有所不同,但它很容易被欺騙。

您也可以使用公鑰/私鑰交換,但實施和管理可能會很痛苦。

真的沒有一個傻瓜證明的解決方案。最好的辦法可能是使用一系列技術來儘可能「接近萬無一失」。儘量不要讓用戶太不方便。