如何编写PHP代码来评估客户端IP?

如何编写PHP代码来评估客户端IP?,php,apache,drupal,drupal-7,drupal-modules,Php,Apache,Drupal,Drupal 7,Drupal Modules,我部署了一个Drupal 7.x网站,我需要使用下面的函数并基于IP返回真/假的帮助(更多信息如下)。我试图在Drupal的规则模块中使用它 Drupal自带一个内置函数 <?php print ip_address(); ?> 这将以ipv4地址的形式返回客户端的IP地址,例如172.16.14.100(示例)。() 我需要能够获取ip_地址();如果ip_address()在172.16.1.1-172.16.255.255范围内,我希望计算结果返回一个布尔值(返回TR

我部署了一个Drupal 7.x网站,我需要使用下面的函数并基于IP返回真/假的帮助(更多信息如下)。我试图在Drupal的规则模块中使用它

Drupal自带一个内置函数

<?php
  print ip_address();
?>

这将以ipv4地址的形式返回客户端的IP地址,例如172.16.14.100(示例)。()

我需要能够获取ip_地址();如果ip_address()在172.16.1.1-172.16.255.255范围内,我希望计算结果返回一个布尔值(返回TRUE),如果不在范围内,则返回false

有人能帮忙吗?

您可以尝试使用将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;
}
$example_ip=ip2long(“192.168.1.1”);
$high_ip=ip2long(“172.16.255.255”);
$low_ip=ip2long(“172.16.1.1”);

如果($example_ip见答案,但对于这样一个简单的范围,如果你不想麻烦使用ip函数,一个肮脏的黑客将测试ip是否以regexp的“172.16”开头;-)Capsule,你能举例说明如何使用regexp做到这一点吗?拜托,这不是编程课程。。。至少读一下手册:经过一些修改后,我需要的就行了。非常感谢。