搜索
首页php教程php手册php中获取真实IP地址与IP地址验证函数

本文章就介绍二个函数一个是验证IP地址,另一个是获取用户的真实IP地址的函数,也是常用的两个IP操作函数,有需要的同学可以参考一下。

获取用户真实IP地址

 代码如下 复制代码
 代码如下 复制代码

function get_client_ip( )
{
        if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) )
        {
                $onlineip = getenv( "REMOTE_ADDR" );
                return $onlineip;
        }
        if ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) )
        {
                $onlineip = $_SERVER['REMOTE_ADDR'];
                return $onlineip;
        }
        if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) )
        {
                $onlineip = getenv( "HTTP_CLIENT_IP" );
                return $onlineip;
        }
        if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) )
        {
                $onlineip = getenv( "HTTP_X_FORWARDED_FOR" );
        }
        return $onlineip;
}

function get_client_ip( )
{
        if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) )
        {
                $onlineip = getenv( "REMOTE_ADDR" );
                return $onlineip;
        }
        if ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) )
        {
                $onlineip = $_SERVER['REMOTE_ADDR'];
                return $onlineip;
        }
        if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) )
        {
                $onlineip = getenv( "HTTP_CLIENT_IP" );
                return $onlineip;
        }
        if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) )
        {
                $onlineip = getenv( "HTTP_X_FORWARDED_FOR" );
        }
        return $onlineip;
}

判断是否为IP地址

function is_ip( $IP )
{
 代码如下
 代码如下 复制代码


function is_ip( $IP )
{
        $IP_ARRAY = explode( ".", $IP );
        $IP_ARRAY_NUM = sizeof( $IP_ARRAY );
        if ( $IP_ARRAY_NUM != 4 )
        {
                return FALSE;
        }
        $I = 0;
        for ( ;    $I         {
                if ( !is_numeric( $IP_ARRAY[$I] ) && $IP_ARRAY[$I]                 {
                        return FALSE;
                }
                if ( !( $I == 3 ) && !( $IP_ARRAY[$I] == 255 ) )
                {
                        continue;
                }
                return FALSE;
        }
        return TRUE;
}

复制代码


        $IP_ARRAY =explode( ".", $IP );        $IP_ARRAY_NUM = sizeof( $ IP_ARRAY );        {

               返回 FALSE;

        }

        $I = 0;

        for ( ;    $I         {                if ( !is_numeric( $IP_ARRAY[$I] ) && $IP_ARRAY[$I]                 { return FALSE;                }                if ( !( $I == 3 ) && !( $IP_ARRAY[$I] == 255 ) )                {         {                        继续;                }返回 FALSE;        }        返回 TRUE;} 永久链接:转载方便!带上文章地址吧。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP explode函数使用方法与报错解决PHP explode函数使用方法与报错解决Mar 10, 2024 am 09:18 AM

PHP中的explode函数是一种用来将字符串分割成数组的函数,它非常常用且灵活。在使用explode函数的过程中,常常会遇到一些报错和问题,本文将介绍explode函数的基本用法并提供一些解决报错的方法。一、explode函数基本用法在PHP中,explode函数的基本语法如下:explode(string$separator,string$stri

PHP中使用explode函数时常见的错误及解决方案PHP中使用explode函数时常见的错误及解决方案Mar 11, 2024 am 08:33 AM

标题:PHP中使用explode函数时常见的错误及解决方案在PHP中,explode函数是用于将字符串分割成数组的常用函数。然而,由于使用不当或者数据格式不正确,可能会导致一些常见的错误。本文将针对在使用explode函数时可能遇到的问题进行分析,并提供解决方案和具体的代码示例。错误一:未传入分隔符参数在使用explode函数时,最常见的错误之一是未传入分隔

使用explode和implode函数分割和合并字符串使用explode和implode函数分割和合并字符串Jun 15, 2023 pm 08:42 PM

在PHP编程中,处理字符串是一个经常需要进行的操作。其中,分割和合并字符串则是两种常见的需求。为了更方便地进行这些操作,PHP提供了两个非常实用的函数,即explode和implode函数。本文将介绍这两个函数的用法,以及一些实用的技巧。一、explode函数explode函数用于将一个字符串按照指定的分隔符进行分割,并返回一个数组。其函数原型如下:arra

php explode报错怎么办php explode报错怎么办Jan 18, 2023 am 10:13 AM

php explode报错的解决办法:1、找到并打开出错的PHP代码;2、找到explode函数部分;3、修改代码为“dump(explode(',',$str));die;”,也就是用逗号分割为数组即可。

使用PHP函数 "explode" 将字符串拆分为数组使用PHP函数 "explode" 将字符串拆分为数组Jul 24, 2023 pm 11:09 PM

使用PHP函数"explode"将字符串拆分为数组在PHP开发中,经常会遇到需要将一个字符串按照指定的分隔符进行拆分的情况。这时,我们可以使用PHP内置函数"explode"来实现字符串到数组的转换。本文将介绍如何使用"explode"函数来拆分字符串,并给出相关的代码示例。"explode"函数的基本语法如下:arrayexplode(

使用PHP函数 "explode" 将字符串拆分为多个子字符串使用PHP函数 "explode" 将字符串拆分为多个子字符串Jul 25, 2023 pm 06:29 PM

使用PHP函数"explode"将字符串拆分为多个子字符串在PHP编程中,我们经常会遇到需要将一个字符串拆分为多个子字符串的情况。这时,PHP提供了一个非常方便的函数"explode",可以帮助我们轻松实现这个功能。"explode"函数的语法如下:arrayexplode(string$delimiter,string$string[,in

PHP中如何使用explode函数分割字符串PHP中如何使用explode函数分割字符串Jun 26, 2023 pm 12:03 PM

在PHP语言中,有很多基础函数可以帮我们快速有效地处理字符串。其中,explode函数是一个很实用的字符串分割函数。它可以将一个字符串按照指定的分割符分割成数组,进而进行更为灵活的字符串操作。在本文中,我们将会介绍PHP中如何使用explode函数来分割字符串。一、explode函数格式explode函数在PHP语言中的格式如下:explode(separa

explode()函数在PHP中是什么?explode()函数在PHP中是什么?Sep 04, 2023 pm 01:01 PM

在本文中,了解如何使用PHPExplode()函数,该函数是预定义的内置PHP函数。explode函数用于“将字符串拆分为PHP中的explode函数使我们能够通过break将一个字符串分解成更小的内容。这种分隔符称为分隔符。语法explode(分隔符,字符串,元素数)参数爆炸函数接受三个参数,其中两个是强制的,一个是可选的。让我们讨论这三个参数。分隔符这个字符指定临界点或点字符串将在此处分割,即每当在字符串中找到该字符时,它就象征着数组中一个元素的结束和另一个元素的开始。String输入字符串

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境