Jak sprawdzić czy domena istnieje i do kogo należy, PHP Skrypty


[PHP] Jak sprawdzić czy domena istnieje i do kogo należy?

0x01 graphic

Chcesz stworzyć sprawdzarkę domen, która sprawdzi czy domena istnieje, a jeżeli istnieje poda również informacje o jej właścicielu. Niesamowicie użyteczny skrypt dla firm zajmujących się rejestracją i sprzedażą domen internetowych, ponieważ od razu mogą one sprawdzić czy domena została zarejestrowana.

0x01 graphic

Skrypt sprawdza istnienie adresów WWW tylko w wybranych domenach (m.in. .pl, .com, .net, .biz, .info), ponieważ lista wszystkich domen byłaby bardzo długa. Nic nie stoi na przeszkodzie aby łatwo dodać kolejne kraje i domeny. Oto gotowy kod programu:

<?

$domena = "nask.pl";

$serwery["biz"]="whois.biz";

$serwery["cc"]="whois.enic.cc";

$serwery["com"]="whois.networksolutions.com";

$serwery["info"]="whois.afilias.net";

$serwery["fr"]="whois.nic.fr";

$serwery["pl"]="whois.dns.pl";

$serwery["int"]="whois.iana.org";

$serwery["net"]="whois.networksolutions.com";

$serwery["org"]="whois.networksolutions.com";

$serwery["cz"]="whois.nic.cz";

$kon = substr($domena,strrpos($domena, ".")+1);

$f=fsockopen($serwery[$kon],43,$errno,$errstr,20);

if ($f) {

fputs($f, "$domena\r\n");

while(!feof($f)) {$odp .= fgets($f,1024); }

fclose($f);

} else { $wynik="Nie można nawiązać połączenia...";}

// dla domen .pl

if (eregi("does not exists",$odp)) { $wynik="Domena nie istnieje...";}

// dla domen .biz .info .int

if (eregi("not found",$odp)) { $wynik="Domena nie istnieje...";}

// dla domen .cc .com .net .org

if (eregi("no match for",$odp)) { $wynik="Domena nie istnieje...";}

// dla domen .fr

if (eregi("no entries found",$odp)) { $wynik="Domena nie istnieje...";}

// dla domen .cz

if (eregi("no data found",$odp)) { $wynik="Domena nie istnieje...";}

if ($wynik=="") {

echo "Domena istnieje:<p>";

echo nl2br($odp);

} else { echo $wynik; }

?>

Wynik działania skryptu:

Domena istnieje:

% WHOIS Server NASK

% This server provides information only for PL domains

Domain name:

nask.pl

Holder of the domain:

NAUKOWA I AKADEMICKA SIEC KOMPUTEROWA

UL.WAWOZOWA 18 02-796 WARSZAWA

Registration date:

1995-04-26

Name servers:

eomer.nask.waw.pl 193.59.201.27

nms.cyf-kr.edu.pl 149.156.2.101 149.156.1.3

dns.tpsa.pl 194.204.159.1

zt.piotrkow.tpsa.pl 194.204.158.242

kirdan.warman.nask.pl 195.187.244.8

bilbo.nask.org.pl 195.187.245.51 148.81.16.51

% WHOIS database last updated 2002-10-29 09:00

Aby otrzymać informację o wybranych domenach wystarczy o nie "zapytać" odpowiednie serwery WHOIS. Ich adresy znajdziesz na stronach firm rejestrujących domeny w różnych krajach. W skrypcie umieściłem w tablicy $serwery tylko kilka przykładowych, ponieważ lista wszystkich byłaby bardzo długa (i w większości niepotrzebna, bo nie codzień sprawdzasz domeny w Afganistanie).

Po przypisaniu nazwy dowolnej domeny do zmiennej $domena zaczynamy ją wstępnie "obrabiać". Zmiennej $kon przypisujemy końcówkę (np. "pl"), czyli domenę najwyższego rzędu (TLD, ang. Top-Level-Domain). Następnie łączymy się z serwerem WHOIS dla odpowiedniej domeny. Znając końcówkę domeny łatwo można ustalić serwer, który w tablicy identyfikowany jest właśnie przez domenę najwyższego rzędu.

Zapytaniem dla serwera WHOIS jest nazwa domeny. Serwer zwraca albo lakoniczny komunikat, że domena nie istnieje albo podaje informacje o domenie, serwerach DNS, właścicielach lub inne informacje, zależnie od kraju i typu domeny.

Ponieważ komunikaty o nieistniejących domenach podawane są w dowolny sposób w zależności od serwera WHOIS, trzeba sprawdzić czy dany komunikat wystąpił w odpowiedzi. Jeżeli wystąpił, domena nie istnieje. Jeżeli nie wystąpił - domena istnieje, więc dodatkowo można pokazać odpowiedź z serwera WHOIS z większą ilością informacji o zarejestrowanej domenie.

Rozbudowa o kolejne domeny sprowadza się do znalezienia odpowiednich serwerów WHOIS i obsługi komunikatów o domenach nieistniejących. W ten sposób bardzo łatwo możesz zbudować własny serwis testujący wybrane domeny.

Pamiętaj jednak, że adresy serwerów WHOIS mogą ulec zmianie, w zależności od firmy obsługującej domeny. Niektóre serwery mają również limity zapytań - z jednego IP można zadać im np. 60 pytań na godzinę. Dlatego warto co jakiś czas sprawdzać czy nie nastąpiły zmiany dotyczące serwerów WHOIS.



Wyszukiwarka

Podobne podstrony:
jak przeslac dane z pol tekstowych do innych stron, PHP Skrypty
Jak sprawdzić czy istnieje podany użytkownik i jego hasło jest poprawne, PHP Skrypty
Jak sprawdzić czy w bazie danych istnieje aktualnie dodawana treść, PHP Skrypty
Jak sprawdzic czy wykonawca dysponuje osobami zdolnymi do realizacji zamowienia
SPRAWDZ CZY ZYD ZAPUKA DO TWOICH DRZWI PO SWOJE, Fakty na czasie 2011 roku
Jak sprawdzic czy pracodawca od Nieznany
Jak sprawdzić czy numer ewidencyjny PESEL został wpisany poprawnie
Do kogo należy mienie zamordowanych Żydów
Jak sprawdzić czy numer rachunku bankowego (NRB) został wpisany poprawnie, PHP Skrypty
Do kogo należy internet i kto nim zarządza, edukacja i nauka, Informatyka
Jak sprawdzić czy zmienna przechowuje liczbę całkowitą lub rzeczywistą, PHP Skrypty
Jak sprawdzić czy pracodawca odprowadza składki ZUS
Jak sprawdzić czy dwa wyrazy są dla siebie anagramami (są permutacją, PHP Skrypty
Jak sprawdzić czy nasz komputer nie jest zainfekowany(1)
Jak sprawdzić, czy RAM działa prawidłowo
jak sprawdzic czy zdjecie ma 10x15
Jak sprawdzić czy opony mają właściwe ciśnienie

więcej podobnych podstron