php 判断IP为有效IP地址的方法
多数人看到这篇日志,第一印象肯定是以为是要讲如何通过正则表达式来判断。
非也,在php5.2.0之后,有专门的函数来做这个判断了。
判断是否是合法IP
if(filter_var($ip, FILTER_VALIDATE_IP)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的IPv4 IP地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {
// it's valid
}
else {
// it's not valid
}
判断是否是合法的IPv6地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}
判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}
本文来源:http://www.electrictoolbox.com/php-validate-ip-address-filter-var/
通常情况下,我们可以选择使用正则表达式实现,具体的可以参考这篇文章。
相关推荐
-
java 获取用户的MAC地址多种方法实例详解
java实现获取用户的MAC地址方法: 方法一:将本机地址与局域网内其他机器区分开来 /** * 根据IP地址获取mac地址 * @param ipAddress 127.0.0.1 * @return * @throws SocketException * @throws UnknownHostException */ public static String getLocalMac(String ipAddress) throws SocketException, UnknownHostEx
-
Java判断IP地址为内网IP还是公网IP的方法
本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: 复制代码 代码如下: public static boolea
-
C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法)
今天查看登录日志,发现http_x_forwarded_for获取到的ip地址有些是内网ip地址,有些则是公网和内网ip地址一起获取到,用逗号分隔开,日志截图如下: 之前获取ip地址的C#代码如下: 复制代码 代码如下: /// <summary> /// C#获取客户端真实IP地址 /// </summary> /// <returns></returns> public static string GetIP()
-
php 判断IP为有效IP地址的方法
多数人看到这篇日志,第一印象肯定是以为是要讲如何通过正则表达式来判断. 非也,在php5.2.0之后,有专门的函数来做这个判断了. 判断是否是合法IP if(filter_var($ip, FILTER_VALIDATE_IP)) { // it's valid } else { // it's not valid } 判断是否是合法的IPv4 IP地址 if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { // it's val
-
Java判断字符串是否为IP地址的方法
Java 判断字符串是否为IP地址,供大家参考,具体内容如下 1.代码 主要就是这么几个条件 非空 长度符合 0.0.0.0 - 255.255.255.255 包含分隔符 且 个数正确 四个全部是数字,且都在合理的范围内 /** * 判断某个字符串是否是一个 IP 地址 * * @param str 字符串 */ public static boolean isIpStr(String str) { // 非空 // boolean notBlank = StringUtils.isNotBl
-
TCP Wrappers防火墙介绍与封锁IP地址的方法
Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏.如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭.允许和禁止
-
PHP 获取客户端真实IP地址多种方法小结
经过复杂的判断与算是的获取IP地址函数 复制代码 代码如下: function getIP() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('
-
java编程实现获取服务器IP地址及MAC地址的方法
本文实例讲述了java编程实现获取服务器IP地址及MAC地址的方法.分享给大家供大家参考,具体如下: 已测系统: windows linux unix 排除127.0.0.1 和 0.0.0.0.1等非正常IP import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enu
-
python批量生成本地ip地址的方法
本文实例讲述了python批量生成本地ip地址的方法.分享给大家供大家参考.具体分析如下: 这段代码用于在本地计算机上生成本地ip地址绑定到网卡,生成的是一个bat的批处理文件,运行此批处理文件,可以通过ipconfig查看 #!/usr/bin/python2.7 # -*- coding: utf-8 -*- # Filename: AddIPAliases.py import re,sys,socket,struct # 1. 判断IP地址是否合法: 2. 判断用户输入的IP是否在Clas
-
Python采集代理ip并判断是否可用和定时更新的方法
网上有很多免费的ip地址,都是可以使用的,但是如果手动来获取太麻烦,这里通过Python自动抓取,可以批量获取. 代码如下: # -*- coding: utf-8 -*- import re import urllib2 import json import os import time import socket class ProxyIp(object): def __init__(self): self.path = os.path.split(os.path.realpath(__fi
随机推荐
- Docker出现Cannot connect to the Docker daemon. Is the docker daemon running on this host错误解决办法
- 封装的一个播放器wmv
- 低配置也跑微软Vista系统的方法
- 判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)
- Win2003下配置iis+php+mysql+zend图文 使其支持asp,.net,cgi,perl和php
- Java基于Socket实现简单的多线程回显服务器功能示例
- java通过模拟post方式提交表单实现图片上传功能实例
- 浅谈插入排序算法在Python程序中的实现及简单改进
- 简单分析javascript中的函数
- asp.net 简单验证码验证实现代码
- PHP Cookie学习笔记
- ThinkPHP让../Public在模板不解析(直接输出)的方法 原创
- C++之CWnd窗口框架实例
- c语言可变参数实现示例
- ruby元编程之创建自己的动态方法
- C++编程中逗号运算符和条件运算符的使用方法讲解
- 你可能不知道PHP get_meta_tags()函数
- sqlserver 用户权限管理,LINQ去除它的重复菜单项
- 遍历json获得数据的几种方法小结
- JSON创建键值对(key是中文或者数字)方式详解
