2011-03-17 101 views
0

基於用戶名和密碼的登錄驗證是爲我已完成的PHP應用程序完成的。登錄驗證+ IP地址驗證在PHP

我想要實現的IP地址驗證也。(一個用戶無法從兩個不同的IP地址在同一時間登錄)

我想知道,這會不會對生產環境可靠嗎?因爲有些人說只能通過PHP服務器獲取代理地址。是這樣嗎?

回答

1

即使世界幾件事情要考慮:

更比可能是您的系統的不同合法用戶可以共享他們的ISP提供的IP,這種類型的設置被稱爲NAT。來自同一合法用戶的單獨請求可能最終會在同一會話期間通過不同的IP地址進入,這種情況更爲罕見,但這種情況發生了。你提到的代理也是一種真正的可能性。

所以在你實現這樣的功能之前,一定要仔細考慮一下。

0

您將得到$ _SERVER [「REMOTE_ADDR」]

我不得不考慮時間的約正確的解決方案,但也許你可以做會議事(和它的名字)

http://www.php.net/manual/de/function.session-name.php的IP地址

也許我們也需要數據庫。也許我會明天再回復,現在是早上6點:)

0

代理事情是真的。每次請求都通過代理傳遞IP更改。最後,您可能擁有請願書通過的最後一個代理人的知識產權。

0

如果您需要實施IP地址驗證,您應該保留允許訪問系統的列表IP,並根據它檢查客戶端IP。

如果您擔心代理服務器檢查HTTP_X_FORWARDED_SERVER,HTTP_X_FORWARDED_FOR等標頭來標識源IP地址。我不確定這是否適用於襪子代理服務器。