在 PHP 中擷取客戶端 IP 位址
取得客戶端的 IP 位址對於追蹤網站上的使用者活動至關重要。 PHP 提供了多種方法來完成此任務。
可靠的 IP 位址來源
客戶端 IP 位址最可靠的來源是 $_SERVER['REMOTE_ADDR']。這保存了連接方的真實 IP 位址。但是,了解潛在問題很重要。
代理伺服器注意事項
當使用者透過代理伺服器存取您的網站時,$_SERVER['REMOTE_ADDR']可能無法反映其實際 IP 位址。在這種情況下,代理可能已設定 $_SERVER['HTTP_X_FORWARDED_FOR']。然而,這個值很容易被欺騙。
處理代理場景
為了解決代理場景,建議同時儲存$_SERVER['REMOTE_ADDR'] 和$_SERVER ['HTTP_X_FORWARDED_FOR'] 在單獨的資料庫欄位中。這提供了一種識別客戶端真實 IP 位址的備份措施。
資料庫注意事項
將客戶端 IP 位址儲存在資料庫中時,請確保欄位大小可以容納最多 45 個字元。 IPv6 位址比 IPv4 位址需要更多空間。雖然 IPv6 位址通常使用 39 個字符,但擴展符號可以將長度擴展到 45 個字符。
結論
透過遵循這些準則,您可以有效地擷取並儲存用戶端基於 PHP 的網站中的 IP 位址。請記住考慮代理場景並確保正確的資料驗證,以避免惡意嘗試欺騙 IP 位址。
以上是如何在 PHP 中可靠地檢索和儲存客戶端 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!