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 地址,但有時候也不管用,也可以偽造。