2010-10-22 57 views
0

我在註冊時存儲了用戶的IP地址。之後,如果他們從另一個IP地址訪問站點,我需要根據註冊來提出一些安全問題。因此可以跟蹤IP地址。否則,IP將會經常改變?
p.s不需要打擾代理和IP欺騙。是否可以允許用戶根據IP地址登錄到該站點?

+5

請勿根據IP地址進行認證 – 2010-10-22 04:29:05

+0

您爲什麼要這樣認證?使用Cookie或會話在下次訪問您的網站時記住用戶有什麼問題? – Soviut 2010-10-22 04:41:36

+0

我不認爲這個問題是基於IP的身份驗證。我的銀行做了類似於他所要求的事情。偶爾我會從另一臺計算機訪問該銀行網站,並且該網站會通過我的通常用戶名/密碼向我詢問其他安全問題。很確定這就是他要求的。 – 2010-10-22 04:44:20

回答

4

$_SERVER['REMOTE_ADDR']返回IP地址。你知道,因爲你將它存儲在數據庫中。當他們登錄時,您只需嘗試將他們的IP與數據庫中的IP匹配並彈出問題。我看不出問題在哪裏。另外,如果您沒有,請考慮使用MySQL的INET_NTOAINET_ATONhttp://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html)函數。

祝您好運惱人的用戶!

2

除非你能保證每個用戶都有一個一致的IP地址(你不能),爲什麼還要用這種「認證」呢?

1

簡短的回答是沒有。沒有辦法跟蹤IP地址,因爲用戶可以使用其他計算機登錄,而IP將完全不相關。

0

實際上,來自公共互聯網的許多不同用戶經常通過NAT或其他IP共享使用相同的IP地址。 DHCP比以前更常見,這意味着這些IP地址將會每天或以其他頻率發佈並重新發布。移動設備會經常更改IP地址。所以IP地址的穩定性和有效性因網絡技術(蜂窩,有線,DSL,撥號等)而異。

這可能沒有問題,根據您的安全政策。你還應該根據你想要完成的事情來看待隨機數,強制登錄和其他安全機制。您可能希望每N次請求更改會話ID,或者使用IP地址對用戶代理字符串進行散列。

相關問題