好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php判断ip是否被占用 php查询ip

很多站长朋友们都不太清楚php判断ip是否被占用,今天小编就来给大家整理php判断ip是否被占用,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php判断是否为域名或者ip 2、 如何用php判断ping某个ip是否通 3、 php判断是否是有效IP地址的方法 4、 限制ip地址段访问的php代码 5、 如何查看IP地址是否被占用 6、 PHP 怎样判断一个ip地址是否可以连接,比如说:192.168.0.1可以访问,192.168.0.115不能访问 php判断是否为域名或者ip

你这个方法是通过判断域名或者ip被“.”分隔成数组后的最后一个元素是否是数字实现的?

应该是有问题的吧,比如aaa.111这个应该不是合法的ip,你这个就通过了。

我觉得还是使用正则比较好。

如何用php判断ping某个ip是否通

一般环境不会设置给你调用系统命令的权限的,你可用用php的通信来判断。

例如:

file_get_contents 第三个参数有个语句句柄可以设置超时时常,比如3秒,多次超过3秒超时说明ping不通;

还有curl,能模拟的情况更丰富些

php判断是否是有效IP地址的方法

提供下面两个方法,供选择:

function checkIp($ip)

{

    $arr = explode('.',$ip);

    if(count($arr) != 4){

        return false;

    }else{

        for($i = 0;$i < 4;$i++){

            if(($arr[$i] <'0') || ($arr[$i] > '255')){

                return false;

            }

        }

    }

    return true;

}

function isIp($ip) {

    if (preg_match('/^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1 -9]?\d))))$/', $ip)) {

        return 1;

    } else {

        return 0;

    }

}

限制ip地址段访问的php代码

<?php

$userip = $_SERVER['REMOTE_ADDR']; //获得用户ip

$userips = explode(".", $userip);//把获得的ip切开成数组

if(($userips[0]<=195 $userips[0]>=195)($userips[1]<=163 $userips[1]>=163)($userips[2]<=079 $userips[2]>=072)($userips[3]<=255 $userips[3]>=000)){

echo "您的ip不符!";

exit;

}else{

echo "通过验证!";

}

?>

我的思路就是这样的

获得用户的IP 用"."分割成数组

再将 限制IP断 分别用"."分割成数组

然后判断用户IP是否在这个IP断内(分别判断四个元素是否在这个范围里)

……

下面是蓝色理想里找到的一个供你参考

——————————————————

<?php

class IP{ //获取客户IP地址

function getIpAdr($ ip){

$ ip1=getenv("HTTP_X_FORWARDED_FOR");

$ ip2=getenv("HTTP_CLIENT_IP");

$ ip3=getenv("REMOTE_ADDR");

if($ ip1$ ip1!='unknow')

$ ip=$ ip1;

else if($ ip2$ ip2!='unknow')

$ ip=$ ip2;

else if($ ip3$ ip3!='unknow')

$ ip=$ ip3;

else

$ ip='127.0.0.1';

}

}

function get_netip($ myip){ //只留客户IP地址的前三位

$ temp=explode(".",$ myip);

$ netip.=$ temp[0];

$ netip.=".";

$ netip.=$ temp[1];

$ netip.=".";

$ netip.=$ temp[2];

return $ netip;

}

$ filename="test.ini"; //定义操作文件

$ ip_lib=file($ filename); //读取文件数据到数组中

$ allow=0;

$ IP=new IP;

$ thisip="";

$ IP->getIpAdr($ thisip);

$ thenetip=get_netip($ thisip);

for($ i=0;$ i<count($ ip_lib);$ i++){

if(ereg($ thenetip,$ ip_lib[$ i])){

$ allow=1;

break;

}

}

if ($ allow==1)

{

echo "验证通过";

}

else {

echo "<script>location.href='Error.php';</script>";

}

?>

如何查看IP地址是否被占用

在通过局域网(例如校园网、公司内网)上网时,首先需要设定一个可用的IP。那么局域网中哪些IP没有被占用呢?可以包着碰运气的心理,设置好IP再看有没有冲突报告,但这种办法实在是太笨了!下面笔者就给你带来三个察看IP地址是否可用的办法。

简单PING法

网络中查看某个计算机是否在线的最简单的办法就是ping该计算机对应的IP地址。例如想查看192.168.1.1这台计算机是否已经在线。点击“开始/运行”输入“cmd”进入命令行命令提示符状态,在命令行模式中输入“ping192.168.1.1即可,如果ping得通就说明该IP地址对应的计算机已经在线。

ARP缓存法

如果仅仅使用ping法来判断网络中计算机的存在是不太严谨的,因为防火墙或者过滤规则,会使ping无法返回正确的信息,也就是说如果按照介绍的方法ping了对方IP地址不通,但对方仍然可能会在线,不过通过ARP缓存可以解决这个问题。

防火墙或者过滤包的方法也无法ARP的查看,远程计算机不返回Ping成功的消息但会告诉本地计算机该IP地址对应的MAC地址。这样就可以通过ARP缓存信息来查看了。如果能看到该IP地址对应了MAC地址说明该计算机在线,相应的MAC地址没有出现在ARP缓存表中则表明该计算机不在线。首先按照介绍的ping法来检测某IP地址的计算机是否在线,然后在ping返回信息为不通的情况下,在命令提示符下输入“arp–a”查看本地ARP缓存列表,看对应的IP是否得到了MAC地址信息。

批处理法

利用上述原理,可以通过建立批处理的办法,批量检测局域网中在线的机器。例如要查看192.168.1.这个网段中有哪些地址在线。在桌面上点鼠标右键新建一个文本文件后输入如下代码:

FOR/L%%iIN(0,1,255)Doping192.168.114.%%i-n1

arp-a->IP.txt

将该文件保存为.bat文件,双击这个批处理文件将自动搜索网段中的所有IP,并且将发现出的ARP信息都保存到ip.txt文件中。笔者探测了192.168.114.1到192.168.114.10这十个IP得到了如图1的文档。可以看出,两个IP返回了MAC地址,说明它们是在线的。

PHP 怎样判断一个ip地址是否可以连接,比如说:192.168.0.1可以访问,192.168.0.115不能访问

一般的局域网内都用192.168开头.

ip的通用形式是:xxx.xxx.xxx.xxx

xxx的大小不能超过256.并且根据xxx的大小范围,对ip分了类.

192.168.开头的就是c类网.

如果有网关,一般是192.168.0.1

也就是说,局域网内ip不能直接连到互联网上,要通过这个网关地址的服务器才能连出去.

互联网上有很多局域网,192.168.开头的ip可以多次被使用(但同一局域网内的ip不能重复).

关于php判断ip是否被占用的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php判断ip是否被占用 php查询ip的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did211215
更新时间:2023-05-03   阅读:20次

上一篇: php常量页面调用 php如何定义常量及获取常量的值

下一篇:php中变量 php中变量赋值的方式

相关资讯

最新资料更新

  • 1.php数组冒泡排序 php冒泡排序面试题
  • 2.php闭包this php闭包函数使用场景
  • 3.php循环处理速度 phpforeach循环
  • 4.韩顺平php视频教程下载 韩顺平oracle视频
  • 5.php的if语句 php的if语句运用
  • 6.php代码太长换行 php换行符号
  • 7.php比较运算符价格 php中用于比较字符串的函数
  • 8.php下载csv乱码 php下载文件名乱码
  • 9.php方法前加 php变量前后加点
  • 10.php缓存框架 php 缓存
  • 11.phphint插件下载 php 插件系统
  • 12.php求100的质数 php求出1100的素数
  • 13.php文章发布系统 php发布网站
  • 14.php函数rand PHP函数的参数传递包括
  • 15.php如何转换json php如何转换视频
  • 16.php项目详解 php项目总结
  • 17.包含phpautoconf的词条
  • 18.php数据分数排序 php实现积分排行榜
  • 19.php技术网学习 php技术门户
  • 20.php体彩投注 体彩官方投注

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]