2016-07-08 8 views
1

diese beiden PHP-Skripte eine Website-Domain zu validieren und ich möchte nur wissen, was der Unterschied zwischen den beiden ist. Tun sie beide dasselbe? Ist einer besser zu benutzen als der andere?Unterschied zwischen Kontrolle und MX FILTER_VALIDATE_IP zu validieren Domain

Dies ist die erste:

if(!filter_var(gethostbyname($website), FILTER_VALIDATE_IP)) 
{ 
//returns false 
} 

Und das ist das zweite:

if (!checkdnsrr($website,"MX")) { 
//returns false 
} 

Beide scheinen genau die gleiche Sache zu tun.

Antwort

1

Nun beide Funktionen sind unterschiedlich in Bezug auf Operationen das heißt, was sie tun.
FILTER_VALIDATE_IP:
Es prüft nur, ob die angegebenen Daten in der richtigen IPv4 oder IPv6-Format, das Sie auf der Flagge passieren abhängig ist, überprüfen here.
checkdnsrr:
Sein Zweck ist nur das Abrufen der Live-DNS-Einträge im Internet für den entsprechenden IP- oder Hostnamen und nicht die Überprüfung der IP-Adresse. Überprüfen Sie here.

prüfen unten Code:

$website = 'www.apple.com'; 
echo 'GetHostName:'.gethostbyname($website).'<br>'; 
echo (!filter_var(gethostbyname($website), FILTER_VALIDATE_IP))?'FALSE by FILTER<br>':'TRUE by Filter<br>'; 
echo (!checkdnsrr($website,"MX"))?'FALSE by cDNS<br>':'TRUE By cDNS<Br>'; 


echo (!filter_var(gethostbyname('127.0.0.1'), FILTER_VALIDATE_IP))?'FALSE by FILTER<br>':'TRUE by Filter<br>'; 
echo (!checkdnsrr('127.0.0.1',"MX"))?'FALSE by cDNS<br>':'TRUE By cDNS<Br>'; 

Ausgang:

GetHostName:23.15.152.48 
TRUE by Filter 
TRUE By cDNS 
TRUE by Filter 
FALSE by cDNS 


Fazit:
Um eine Domain zu validieren Sie checkdnsrr verwenden sollten() es wird false zurück wenn keine DNS-Einträge gefunden werden.

+0

So zum Zweck eine Domäne der Validierung, die man genauer sein würde? – Jez

+0

Um eine Domäne zu validieren, sollten Sie ** checkdnsrr() ** verwenden, es wird false zurückgegeben, wenn keine DNS-Einträge gefunden werden. –

Verwandte Themen