我部署了Drupal 7.x网站,我需要帮助使用以下功能并根据IP返回真/假(下面有更多信息)。我试图在Drupal的规则模块中使用它。
Drupal带有内置功能..
<?php
print ip_address();
?>
以ipv4地址的形式返回客户端的IP地址,例如172.16.14.100(示例)。 (https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/ip_address/7)
我需要能够抓住ip_address();如果ip_address()在172.16.1.1 - 172.16.255.255的范围内,我希望评估返回一个布尔值(返回TRUE),如果不是,则返回false。
任何人都可以提供帮助吗?
答案 0 :(得分:1)
您可以尝试使用ip2long将IPv4地址更改为长整数,并将其用于比较。
$example_ip = ip2long("192.168.1.1");
$high_ip = ip2long("172.16.255.255");
$low_ip = ip2long("172.16.1.1");
if ($example_ip <= $high_ip && $low_ip <= $example_ip) {
return true;
}
else {
return false;
}