IpHelper
IpHelper 是一个用于处理 IP 地址的实用程序类。
自 |
1.6.0 |
---|---|
包 |
Joomla 框架 |
方法
__construct
私有构造函数,防止实例化此类。
__construct() :
自 |
1.6.0 |
---|
响应
混合
checkIPv6CIDR
检查 IPv6 地址 $ip 是否是 IPv6 CIDR 块 $cidrnet 的一部分。
checkIPv6CIDR( ip, cidrnet) :
自 |
1.6.0 |
---|
参数
- ip
string
要检查的 IPv6 地址,例如 21DA:00D3:0000:2F3B:02AC:00FF:FE28:9C5A- cidrnet
string
IPv6 CIDR 块,例如 21DA:00D3:0000:2F3B::/64
响应
布尔
detectAndCleanIP
获取访客的 IP 地址。
detectAndCleanIP() :
自动处理反向代理报告中间设备的 IP 地址,例如负载均衡器。示例
- https://www.akeebabackup.com/support/admin-tools/13743-double-ip-adresses-in-security-exception-log-warnings.html
- https://stackoverflow.com/questions/2422395/why-is-request-envremote-addr-returning-two-ips
使用的解决方案是假设最后一个 IP 地址是外部的。
自 |
1.6.0 |
---|
响应
字符串
detectIP
获取访客的 IP 地址
detectIP() :
自 |
1.6.0 |
---|
响应
字符串
getIp
获取当前访客的 IP 地址
getIp() :
自 |
1.6.0 |
---|
响应
字符串
inetToBits
将 inet_pton 输出转换为位字符串
inetToBits( inet) :
自 |
1.6.0 |
---|
参数
- inet
string
IPv4 或 IPv6 地址的 in_addr 表示形式
响应
字符串
IPinList
检查 IP 是否包含在 IP 或 IP 表达式的列表中
IPinList( ip, array|string ipTable = '') :
自 |
1.6.0 |
---|
参数
- ip
string
要检查的 IPv4/IPv6 地址- ipTable
array<string|int, mixed>|string
要检查的 IP 表达式(或逗号分隔或数组列表的 IP 表达式)
响应
布尔
isIPv6
它是 IPv6 IP 地址吗?
isIPv6( ip) :
自 |
1.6.0 |
---|
参数
- ip
string
IPv4 或 IPv6 地址
响应
布尔
setAllowIpOverrides
我应该允许通过 X-Forwarded-For 或 Client-Ip HTTP 标头覆盖远程客户端的 IP 吗?
setAllowIpOverrides( newState) :
自 |
1.6.0 |
---|
参数
- newState
bool
为 true 表示允许覆盖
响应
无效
setIp
设置当前访客的 IP 地址
setIp( ip) :
自 |
1.6.0 |
---|
参数
- ip
string
访客的 IP 地址
响应
无效
workaroundIPIssues
解决 REMOTE_ADDR 不包含用户 IP 的问题
workaroundIPIssues() :
自 |
1.6.0 |
---|
响应
无效
属性
ip
当前访客的 IP 地址
自 |
1.6.0 |
---|
类型
字符串
allowIpOverrides
我应该允许通过 X-Forwarded-For 或 Client-Ip HTTP 标头覆盖 IP 吗?
自 |
1.6.0 |
---|---|
注意 |
在 2.0+ 版本中,默认值为 false。 |
类型
布尔