2012-02-22 47 views
2

我們如何識別內聯網上不同的計算機/設備? 這可以使用cookie,但這並非萬無一失。 我期待找到本地IP地址的線路上的東西。 如果您提到將其與Intranet應用程序集成所需的某些工具(庫),那將會很棒。該應用程序是用Python(Django)設計的。如何識別內聯網上的計算機?

+3

也許MAC地址?請參閱http://comments.gmane.org/gmane.comp.python.django.user/136648。 – 2012-02-22 15:04:42

+1

如果你運行你自己的DNS並且(DHCP或者每個人都有靜態IP)並且可以信任沒有機器被篡改或欺騙的安全性,那麼簡單的IP->主機查找就足夠了。 – platinummonkey 2012-02-22 15:08:53

+0

@FrédéricHamidiMAC地址只有在服務器和客戶端位於同一網段時纔有用。 – tMC 2012-02-22 16:01:58

回答

0

您可以從HttpRequest對象獲取客戶端(連接到Web服務器的計算機)IP地址。如果你的Django視圖是def MyView(request):,你可以從request.META.get('REMOTE_ADDR')獲得IP。那是你在找什麼?

0

你可以看看上的Django的HttpRequest的文檔:https://docs.djangoproject.com/en/dev/ref/request-response/

在那裏,你會發現,你可以知道與使用request.META您的視圖或中間件請求對象的用戶的遠程IP地址[「REMOTE_ADDR」]

我在一個多宿主服務器使用這個內部局域網的請求來到一個本地IP地址和公共請求轉到一個公共IP地址,那裏比較REMOTE_ADDR到我的內部開始局域網地址我可以知道它是否是一個內部請求。

+0

單獨使用IP地址的問題是,它們在基於DHCP的網絡上可能會更改。作爲一個DHCP網絡用戶,我可以通過更改我的NIC MAC地址來強制更改我的IP地址。 – tMC 2012-02-22 17:34:17

+0

你說得對,我的回答主要是確定用戶是否在內部網中。不是因爲他需要唯一地識別它們中的每一個。 MAC地址更可靠,但也有更換MAC的方法,例如來自Laptops的用戶有時可以通過無線方式連接,並在線路上連接一段時間。我想這取決於用戶可以接受的錯誤概率級別。 – Xbito 2012-02-22 18:18:49

相關問題