如何在PHP中获取客户端IP地址

如何使用PHP获取客户端IP地址

我想保留通过其IP地址登录我的网站的用户的记录

无论您做什么,请确保不要信任从客户端发送的数据$\u服务器[‘REMOTE\u ADDR’]包含连接方的实际IP地址。这是你能找到的最可靠的价值

但是,它们可以位于代理服务器后面,在这种情况下,代理可能已将$\u服务器['HTTP\u X\u FORWARDED\u FOR']设置为,但此值很容易被伪造。例如,它可以由没有代理的人设置,或者IP可以是来自代理后面LAN的内部IP

这意味着,如果要保存$\u服务器['HTTP\u X\u FORWARDED\u'],请确保也保存$\u服务器['REMOTE\u ADDR']值。例如,通过在数据库的不同字段中保存这两个值

如果要将IP作为字符串保存到数据库,请确保至少有45个字符的空间。IPv6将继续存在,这些地址比以前的IPv4地址大

(请注意,IPv6通常最多使用39个字符,但IPv4地址也有一种特殊的IPv6表示法,其完整形式最多可包含45个字符。因此,如果您知道自己在做什么,可以使用39个字符,但如果您只想设置并忘记它,请使用45)

发表评论