phpip合法
① php判断是否为域名或者ip
你这个方法是通过判断域名或者ip被“.”分隔成数组后的最后一个元素是否是数字实现的?
应该是有问题的吧,比如aaa.111这个应该不是合法的ip,你这个就通过了。
我觉得还是使用正则比较好。
② PHP判断IP和子网的合法性并判断A、B、C还是其他类
$ip=$_SERVER["REMOTE_ADDR"];然后取字前的字串比对过行判断即可!
③ ip地址合法的标准是什么
法律分析:IP地址是指Internet协议地址,是连接到Internet的设备的编号,每一个网络和主机都会有一个逻辑地址,在交换数据时,它用于防止网络上的通信发生错误。IP地址的形式是:a.b.c.d,其中,a,b,c,d都是0~255之间的十进制整数,这个范围内的数字组合都是合法的IP地址。
法律依据:《互联网IP地址备案管理办法》
第一条 为加强对互联网IP地址资源使用的管理,保障互联网络的安全,维护广大互联网用户的根本利益,促进互联网业的健康发展,制定本办法。
第二条 在中华人民共和国境内直接从亚太互联网信息中心等具有IP地址管理权的国际机构获得IP地址的单位和具有分配IP地址供其他单位或者个人使用的单位,适用本办法。
④ 如何判断IP地址是否合法
IP地址,用“.”分隔的4个十进制数,范围是0-255,超过范围就是无效的。
总的来说,ip地址分类由第一个八位组的值来确定,任何一个0到127 间的网络地址均是一个a类地址。
任何一个128到191间的网络地址是一个b类地址。任何一个192到223 间的网络地址是一个c类地址。任何一个第一个八位组在224到239 间的网络地址是一个组播地址即d类地址,e类保留。
(4)phpip合法扩展阅读:
IP地址的分配
TCP/IP协议需要针对不同的网络进行不同的设置,且每个节点一般需要一个“IP地址”、一个“子网掩码”、一个“默认网关”。
不过,可以通过动态主机配置协议(DHCP),给客户端自动分配一个IP地址,避免了出错,也简化了TCP/IP协议的设置。
互联网上的IP地址统一由一个叫“ICANN”(Internet Corporation for Assigned Names and Numbers,互联网赋名和编号公司)的组织来管理。
IP地址现由因特网名字与号码指派公司ICANN(Internet Corporation for Assigned Names and Numbers)分配。
⑤ 判断ip地址是否合法
法律分析:IP地址,用“.”分隔的4个十进制数,范围是0-255,超过范围就是无效的。总的来说,ip地址分类由第一个八位组的值来确定,任何一个0到127 间的网络地址均是一个a类地址。任何一个128到191间的网络地址是一个b类地址。任何一个192到223 间的网络地址是一个c类地址。任何一个第一个八位组在224到239 间的网络地址是一个组播地址即d类地址,e类保留。符合这一规定的ip地址合法。
法律依据:《中华人民共和国民法典》 第三条 民事主体的人身权利、财产权利以及其他合法权益受法律保护,任何组织或者个人不得侵犯。
⑥ php判断是否是有效IP地址的方法
提供下面两个方法,供选择:
functioncheckIp($ip)
{
$arr=explode('.',$ip);
if(count($arr)!=4){
returnfalse;
}else{
for($i=0;$i<4;$i++){
if(($arr[$i]<'0')||($arr[$i]>'255')){
returnfalse;
}
}
}
returntrue;
}
functionisIp($ip){
if(preg_match('/^((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))$/',$ip)){
return1;
}else{
return0;
}
}
⑦ php如何判断IP为有效IP地址
不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。
判断是否是合法IP
if(filter_var($ip,FILTER_VALIDATE_IP)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的IPv4IP地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4|FILTER_FLAG_NO_PRIV_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是合法的IPv6地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_NO_RES_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
判断是否是publicIPv4IP或者是合法的PublicIPv6IP地址
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_NO_PRIV_RANGE|FILTER_FLAG_NO_RES_RANGE)){
//it'svalid
}
else{
//it'snotvalid
}
⑧ 如何向PHP伪造自己的ip
要看具体代码是怎么写的,如果代码写得不好是有可能伪造的。
获取IP的方法有几种,通过例子看一下,这个是ThinkPHP里的获取IP的函数:
/**
* 获取客户端IP地址
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
* @return mixed
*/
function get_client_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
$_SERVER['HTTP_CLIENT_IP'] 是HTTP信息中的IP,存在于http请求的header中,可以伪造;
$_SERVER["REMOTE_ADDR"] 可取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。不可以伪造,但可以用代理。
$_SERVER["HTTP_X_FORWARDED_FOR"] 可以透过代理服务器取得客户端的真实 IP 地址,但有时候也不管用,也可以伪造。