whois-script
index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php
include 'functions.php'; //het bestand met de functies includen
include 'config.php'; //het bestand met de WhoIs server gegevens includen
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="functions.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="style.css" />
</head>
<body>
<h1>WhoIs</h1>
<div id="demo">
<form method="post" class="whoisform" action="#">
<p><span style="position:relative;top:-1px;">www.</span>
<input type="text" name="domain" value="<?=isset($_POST['domain']) ? $_POST['domain'] : '' ?>" />.
<select name="tld">
<option value="all">alles</option>
<?php
foreach($servers as $key => $server) //een foreach over alle opgegeven servers (uit het config bestand)
{
echo '<option value="'.$key.'"'; ///een option echoen
if(isset($_POST['tld']) && $_POST['tld'] == $key) //als de geposte extensie hetzelfde is als de extension van de foreach
{
echo ' selected="selected"'; //dan moet de optie geselecteerd zijn
}
echo '>.'.$key.'</option>'."\n"; //en het einde van de option
}
?>
</select>
<input type="submit" value="Go" />
</p>
</form>
</div>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') //als er gepost is
{
if(empty($_POST['domain'])) //als het domein leeg is
{
echo 'Geen domein opgegeven';
}
elseif(empty($_POST['tld'])) //als de extensie (om welke reden dan ook) leeg is
{
echo 'Extensie niet opgegeven';
}
elseif(strlen($_POST['domain']) < 2) //als het domein korter is dan 2 tekens
{
echo 'domein is te kort';
}
elseif(strlen($_POST['domain']) > 60) //als het domein langer is dan 60 tekens
{
echo 'domein is te lang';
}
elseif(!preg_match('/^([a-zA-Z0-9_-]+)$/i', $_POST['domain'])) //als het domein illigale karakters bevat
{
echo 'Er mogen alleen letters en cijfers in de url zitten, let op dat je alleen het gedeelte tussen www. en .extensie invult.
Dus niet www.google.nl of google.nl of www.google, maar gewoon google.';
}
else //als er geen errors zijn opgetreden
{
//echo de "status" div, en start de tabel
?>
<div id='whoiswait'>
<div class='outer'>
<div class='inner'>
<img src="status.gif"><br />
checking <span id='whoistld'></span>
</div>
</div>
</div>
<table id="whoistable" border="0" width="100%" cellpadding="5" cellspacing="0">
<tr>
<th>Domein</th>
<th>Resultaat</th>
<th>WhoIs</th>
</tr>
<tr>
<?php
$domein = str_replace('http://', '', $_POST['domain']); //haal eventueel http:// uit de URL
$domein = str_replace('www.', '', $domein); //haal even www. uit de url
$domein = htmlentities($domein); //haal eventueel karakters eruit die er niet in thuis horen
$extensie = htmlentities($_POST['tld']); //haal eventueel karakters eruit die er niet in thuis horen
if($extensie == 'all') //als alle extensies moeten worden gecontroleerd
{
$i = 0; //set $i op 0, zodat we straks met deze variabele kunnen gaan werekn
foreach($servers as $extensie => $server) //een foreach over alle WhoIs servers
{
echo "<script type='text/javascript'>
if(document.getElementById('whoistld'))
{
document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\";
}
</script>"; //echo de data die de de status div laat veranderen
$i++; //verhoog i met 1, zodat we de afwisselende kleurtjes krijgen
voer_uit($domein, $extensie, $server, $i); //voer de functie voer_uit uit, uit functions.php
flush(); //send alle output naar de browser, zodat de status div geupdate wordt.
}
}
else //als er maar 1 domein wordt opgeroepen
{
echo "<script type='text/javascript'>
if(document.getElementById('whoistld'))
{
document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\";
}
</script>"; //echo de data voor de status div
flush(); //stuur de info voor de status informatie naar de browser
$servers[$extensie] = isset($servers[$extensie]) ? $servers[$extensie] : 'na'; //zoek de gegevens op in de array
voer_uit($domein, $extensie, $servers[$extensie], false); //voer de functie voer_uit uit, uit functions.php
}
echo "<script type='text/javascript'>
if(document.getElementById('whoiswait'))
{
document.getElementById('whoiswait').style.display = 'none';
}
</script>"; //echo dat de status div verborgen mag worden
?>
</table>
<div id="demo">
<form method="post" class="whoisform" action="#">
<p><span style="position:relative;top:-1px;">www.</span>
<input type="text" name="domain" value="<?=isset($_POST['domain']) ? $_POST['domain'] : '' ?>" />.
<select name="tld">
<option value="all">alles</option>
<?php
//onderstaande foreach is dezelfde als die bovenaan
foreach($servers as $key => $server)
{
echo '<option value="'.$key.'"';
if(isset($_POST['tld']) && $_POST['tld'] == $key)
{
echo ' selected="selected"';
}
echo '>.'.$key.'</option>'."\n";
}
?>
</select>
<input type="submit" value="Go" />
</p>
</form>
</div>
<?php
}
}
?>
</body>
</html>
include 'functions.php'; //het bestand met de functies includen
include 'config.php'; //het bestand met de WhoIs server gegevens includen
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="functions.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="style.css" />
</head>
<body>
<h1>WhoIs</h1>
<div id="demo">
<form method="post" class="whoisform" action="#">
<p><span style="position:relative;top:-1px;">www.</span>
<input type="text" name="domain" value="<?=isset($_POST['domain']) ? $_POST['domain'] : '' ?>" />.
<select name="tld">
<option value="all">alles</option>
<?php
foreach($servers as $key => $server) //een foreach over alle opgegeven servers (uit het config bestand)
{
echo '<option value="'.$key.'"'; ///een option echoen
if(isset($_POST['tld']) && $_POST['tld'] == $key) //als de geposte extensie hetzelfde is als de extension van de foreach
{
echo ' selected="selected"'; //dan moet de optie geselecteerd zijn
}
echo '>.'.$key.'</option>'."\n"; //en het einde van de option
}
?>
</select>
<input type="submit" value="Go" />
</p>
</form>
</div>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') //als er gepost is
{
if(empty($_POST['domain'])) //als het domein leeg is
{
echo 'Geen domein opgegeven';
}
elseif(empty($_POST['tld'])) //als de extensie (om welke reden dan ook) leeg is
{
echo 'Extensie niet opgegeven';
}
elseif(strlen($_POST['domain']) < 2) //als het domein korter is dan 2 tekens
{
echo 'domein is te kort';
}
elseif(strlen($_POST['domain']) > 60) //als het domein langer is dan 60 tekens
{
echo 'domein is te lang';
}
elseif(!preg_match('/^([a-zA-Z0-9_-]+)$/i', $_POST['domain'])) //als het domein illigale karakters bevat
{
echo 'Er mogen alleen letters en cijfers in de url zitten, let op dat je alleen het gedeelte tussen www. en .extensie invult.
Dus niet www.google.nl of google.nl of www.google, maar gewoon google.';
}
else //als er geen errors zijn opgetreden
{
//echo de "status" div, en start de tabel
?>
<div id='whoiswait'>
<div class='outer'>
<div class='inner'>
<img src="status.gif"><br />
checking <span id='whoistld'></span>
</div>
</div>
</div>
<table id="whoistable" border="0" width="100%" cellpadding="5" cellspacing="0">
<tr>
<th>Domein</th>
<th>Resultaat</th>
<th>WhoIs</th>
</tr>
<tr>
<?php
$domein = str_replace('http://', '', $_POST['domain']); //haal eventueel http:// uit de URL
$domein = str_replace('www.', '', $domein); //haal even www. uit de url
$domein = htmlentities($domein); //haal eventueel karakters eruit die er niet in thuis horen
$extensie = htmlentities($_POST['tld']); //haal eventueel karakters eruit die er niet in thuis horen
if($extensie == 'all') //als alle extensies moeten worden gecontroleerd
{
$i = 0; //set $i op 0, zodat we straks met deze variabele kunnen gaan werekn
foreach($servers as $extensie => $server) //een foreach over alle WhoIs servers
{
echo "<script type='text/javascript'>
if(document.getElementById('whoistld'))
{
document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\";
}
</script>"; //echo de data die de de status div laat veranderen
$i++; //verhoog i met 1, zodat we de afwisselende kleurtjes krijgen
voer_uit($domein, $extensie, $server, $i); //voer de functie voer_uit uit, uit functions.php
flush(); //send alle output naar de browser, zodat de status div geupdate wordt.
}
}
else //als er maar 1 domein wordt opgeroepen
{
echo "<script type='text/javascript'>
if(document.getElementById('whoistld'))
{
document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\";
}
</script>"; //echo de data voor de status div
flush(); //stuur de info voor de status informatie naar de browser
$servers[$extensie] = isset($servers[$extensie]) ? $servers[$extensie] : 'na'; //zoek de gegevens op in de array
voer_uit($domein, $extensie, $servers[$extensie], false); //voer de functie voer_uit uit, uit functions.php
}
echo "<script type='text/javascript'>
if(document.getElementById('whoiswait'))
{
document.getElementById('whoiswait').style.display = 'none';
}
</script>"; //echo dat de status div verborgen mag worden
?>
</table>
<div id="demo">
<form method="post" class="whoisform" action="#">
<p><span style="position:relative;top:-1px;">www.</span>
<input type="text" name="domain" value="<?=isset($_POST['domain']) ? $_POST['domain'] : '' ?>" />.
<select name="tld">
<option value="all">alles</option>
<?php
//onderstaande foreach is dezelfde als die bovenaan
foreach($servers as $key => $server)
{
echo '<option value="'.$key.'"';
if(isset($_POST['tld']) && $_POST['tld'] == $key)
{
echo ' selected="selected"';
}
echo '>.'.$key.'</option>'."\n";
}
?>
</select>
<input type="submit" value="Go" />
</p>
</form>
</div>
<?php
}
}
?>
</body>
</html>
functions.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
function check($domein, $ext, $server, $mode, $woord, $teveel, $jn) //maak een functie check aan
{
$check = @fsockopen($server, 43); //open een connectie met de WhoIs server, een @-je om error van een eventuele misconnectie te verbergen
if(!@fwrite($check, $domein.'.'.$ext."\r\n")) //als er niet naar de server geschreven kan worden
{
return extra_controle($domein, $ext, 'Geen of ongeldig resultaat van WhoIs server'); //voer de andere controle uit (zie onderaan)
}
else
{
$result = NULL; //result gaan we zometeen vullen
while (!feof($check)) //zolang nog niet alle data is uitgelezen
{
$result .= fread($check, 1024); //blijven we lezen, en zetten we de data in $result
}
fclose($check); //sluit de verbinding met de server
if(ereg($teveel, $result)) //als de server heeft terug gegeven dat er teveel aanvragen zijn
{
return extra_controle($domein, $ext, 'Te veel aanvragen'); //doe een extra controle
}
if($mode == 'whois') //als er om een WhoIs gevraagd wordt
{
return $result; //kunnen we het resultaat terug geven
}
elseif($mode == 'check') //als er alleen wordt gevraagd om vrij of niet vrij
{
if($jn == 'bevat') //als het resultaat de woorden moet bevatten
{
if(ereg($woord, $result)) //dan kijken we of het resultaat de woorden bevat. Zo ja
{
return '<span class="error">niet vrij</span>'; //dan is het domein niet vrij
}
else //bevat het resultaat niet de woorden
{
return '<span class="vrij">vrij</span>'; //dan is het domein nog vrij
}
}
else //als het resultaat de woorden niet moet bevatten
{
if(!ereg($woord, $result)) //dan kijken we of het resultaat de woorden ook niet bevat. Zo ja
{
return '<span class="error">niet vrij</span>'; //dan is het domein niet vij
}
else //bevat het resultaat wel de woorden
{
return '<span class="vrij">vrij</span>'; //dan is het domein vrij
}
}
}
}
}
function voer_uit($domein, $extensie, $server, $i) //maak de funtie voer_uit aan
{
global $servers; //we willen graag de data uit de variabele $servers gebruiken
$k = ((($i + 1) % 2) == 0) ? 1 : 2; //als $i even is, krijgt $k de waarde 1, anders 2
echo '<tr><td class="whoisrow'.$k.'">
<a href="http://www.'.$domein.'.'.$extensie.'" target="_blank">'.$domein.'.'.$extensie.'</a>
</td>
<td class="whoisrow'.$k.'">'; //echo de eerste kolom, met de URL
if($servers[$extensie] == 'na') //als de domeinnaam niet voor komt in de array
{
echo 'Domeinen met deze extensie kunnen niet worden gechecked'; //dan kunnen we niet checken
}
else //als de domeinnaam wel voorkomt in de array
{
$check = check($domein, $extensie, $server[0], 'check', $server[3], $server[1], $server[2]); //kunnen we de check uit gaan voeren
echo $check;
}
echo '</td>
<td class="whoisrow'.$k.'">'; //begin de laatste kolom
if($check == '<span class="error">niet vrij</span>') //als de domeinnaam niet vrij is
{
echo '<a href="whois.php?url='.$domein.'&ext='.$extensie.'" onClick="whoisDetails(\'700\',\'400\',\'yes\');" target="whoisWindow">WhoIs</a>';
//dan kan er een WhoIs gedaan worden
}
else //als de domeinnaam vrij is
{
echo 'Geen gedetailleerde informatie beschikbaar'; //dan is er geen gedetaileerde informatie beschikbaar
}
echo '</td></tr>';//en echo de laatste kolom, met een linkje naar de WhoIs
}
function extra_controle($domein, $ext, $melding) //een functie voor als de WhoIs server niks geeft
{
if(@fopen('http://www.'.$domein.'.'.$ext, 'r')) //als we het domein kunnen openen
{
return '<span class="error">'.$melding.', maar waarschijnlijk niet vrij</span>'; //zal het waarschijnlijk niet vrij zijn
}
else //als we het domein niet kunnen openen
{
return '<span class="vrij">, '.$melding.', maar waarschijnlijk vrij</span>'; //dan zal het domein waarschijnlijk nog vrij zijn
}
}
?>
function check($domein, $ext, $server, $mode, $woord, $teveel, $jn) //maak een functie check aan
{
$check = @fsockopen($server, 43); //open een connectie met de WhoIs server, een @-je om error van een eventuele misconnectie te verbergen
if(!@fwrite($check, $domein.'.'.$ext."\r\n")) //als er niet naar de server geschreven kan worden
{
return extra_controle($domein, $ext, 'Geen of ongeldig resultaat van WhoIs server'); //voer de andere controle uit (zie onderaan)
}
else
{
$result = NULL; //result gaan we zometeen vullen
while (!feof($check)) //zolang nog niet alle data is uitgelezen
{
$result .= fread($check, 1024); //blijven we lezen, en zetten we de data in $result
}
fclose($check); //sluit de verbinding met de server
if(ereg($teveel, $result)) //als de server heeft terug gegeven dat er teveel aanvragen zijn
{
return extra_controle($domein, $ext, 'Te veel aanvragen'); //doe een extra controle
}
if($mode == 'whois') //als er om een WhoIs gevraagd wordt
{
return $result; //kunnen we het resultaat terug geven
}
elseif($mode == 'check') //als er alleen wordt gevraagd om vrij of niet vrij
{
if($jn == 'bevat') //als het resultaat de woorden moet bevatten
{
if(ereg($woord, $result)) //dan kijken we of het resultaat de woorden bevat. Zo ja
{
return '<span class="error">niet vrij</span>'; //dan is het domein niet vrij
}
else //bevat het resultaat niet de woorden
{
return '<span class="vrij">vrij</span>'; //dan is het domein nog vrij
}
}
else //als het resultaat de woorden niet moet bevatten
{
if(!ereg($woord, $result)) //dan kijken we of het resultaat de woorden ook niet bevat. Zo ja
{
return '<span class="error">niet vrij</span>'; //dan is het domein niet vij
}
else //bevat het resultaat wel de woorden
{
return '<span class="vrij">vrij</span>'; //dan is het domein vrij
}
}
}
}
}
function voer_uit($domein, $extensie, $server, $i) //maak de funtie voer_uit aan
{
global $servers; //we willen graag de data uit de variabele $servers gebruiken
$k = ((($i + 1) % 2) == 0) ? 1 : 2; //als $i even is, krijgt $k de waarde 1, anders 2
echo '<tr><td class="whoisrow'.$k.'">
<a href="http://www.'.$domein.'.'.$extensie.'" target="_blank">'.$domein.'.'.$extensie.'</a>
</td>
<td class="whoisrow'.$k.'">'; //echo de eerste kolom, met de URL
if($servers[$extensie] == 'na') //als de domeinnaam niet voor komt in de array
{
echo 'Domeinen met deze extensie kunnen niet worden gechecked'; //dan kunnen we niet checken
}
else //als de domeinnaam wel voorkomt in de array
{
$check = check($domein, $extensie, $server[0], 'check', $server[3], $server[1], $server[2]); //kunnen we de check uit gaan voeren
echo $check;
}
echo '</td>
<td class="whoisrow'.$k.'">'; //begin de laatste kolom
if($check == '<span class="error">niet vrij</span>') //als de domeinnaam niet vrij is
{
echo '<a href="whois.php?url='.$domein.'&ext='.$extensie.'" onClick="whoisDetails(\'700\',\'400\',\'yes\');" target="whoisWindow">WhoIs</a>';
//dan kan er een WhoIs gedaan worden
}
else //als de domeinnaam vrij is
{
echo 'Geen gedetailleerde informatie beschikbaar'; //dan is er geen gedetaileerde informatie beschikbaar
}
echo '</td></tr>';//en echo de laatste kolom, met een linkje naar de WhoIs
}
function extra_controle($domein, $ext, $melding) //een functie voor als de WhoIs server niks geeft
{
if(@fopen('http://www.'.$domein.'.'.$ext, 'r')) //als we het domein kunnen openen
{
return '<span class="error">'.$melding.', maar waarschijnlijk niet vrij</span>'; //zal het waarschijnlijk niet vrij zijn
}
else //als we het domein niet kunnen openen
{
return '<span class="vrij">, '.$melding.', maar waarschijnlijk vrij</span>'; //dan zal het domein waarschijnlijk nog vrij zijn
}
}
?>
config.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
/*
Hier kun je WhoIs servers opgeven.
De opbouw van de array is:
$server['extensie'] = array('whois server', 'melding bij te veel requests', 'bevat/bevat niet', 'de volgende woorden');
het "bevat/bevat niet de volgende woorden" moet zo zijn opgesteld dat het resultaat gevonden moet zijn. Voorbeeld:
Als het resultaat de woorden "Status: active" bevat, is het domein al geregistreerd
Als het resultaat niet de woorden "No match" bevat, is het domein al geregistreerd
*/
$servers = array();
$servers['nl'] = array('whois.domain-registry.nl', 'too many requests', 'bevat', 'Status: active');
$servers['com'] = array('whois.crsnic.net', 'too many', 'bevat niet', 'No match');
$servers['org'] = array('whois.pir.org', 'too many', 'bevat niet', 'NOT FOUND');
$servers['info'] = array('whois.afilias.info', 'too many', 'bevat niet', 'NOT FOUND');
$servers['be'] = array('whois.dns.be', 'too many', 'bevat', 'REGISTERED');
$servers['co.uk'] = array('whois.nic.uk', 'too many', 'bevat niet', 'not been registered');
$servers['biz'] = array('whois.biz', 'too many', 'bevat niet', 'Not found');
$servers['au'] = array('whois.aunic.net', 'too many', 'bevat niet', 'No Data Found');
$servers['eu'] = array('whois.eu', 'too many', 'bevat', 'REGISTERED');
$servers['net'] = array('whois.verisign-grs.com', 'too many', 'bevat niet', 'No match for');
ksort($servers); //dan staan ze netjes op alfabet
?>
/*
Hier kun je WhoIs servers opgeven.
De opbouw van de array is:
$server['extensie'] = array('whois server', 'melding bij te veel requests', 'bevat/bevat niet', 'de volgende woorden');
het "bevat/bevat niet de volgende woorden" moet zo zijn opgesteld dat het resultaat gevonden moet zijn. Voorbeeld:
Als het resultaat de woorden "Status: active" bevat, is het domein al geregistreerd
Als het resultaat niet de woorden "No match" bevat, is het domein al geregistreerd
*/
$servers = array();
$servers['nl'] = array('whois.domain-registry.nl', 'too many requests', 'bevat', 'Status: active');
$servers['com'] = array('whois.crsnic.net', 'too many', 'bevat niet', 'No match');
$servers['org'] = array('whois.pir.org', 'too many', 'bevat niet', 'NOT FOUND');
$servers['info'] = array('whois.afilias.info', 'too many', 'bevat niet', 'NOT FOUND');
$servers['be'] = array('whois.dns.be', 'too many', 'bevat', 'REGISTERED');
$servers['co.uk'] = array('whois.nic.uk', 'too many', 'bevat niet', 'not been registered');
$servers['biz'] = array('whois.biz', 'too many', 'bevat niet', 'Not found');
$servers['au'] = array('whois.aunic.net', 'too many', 'bevat niet', 'No Data Found');
$servers['eu'] = array('whois.eu', 'too many', 'bevat', 'REGISTERED');
$servers['net'] = array('whois.verisign-grs.com', 'too many', 'bevat niet', 'No match for');
ksort($servers); //dan staan ze netjes op alfabet
?>
whois.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
include 'functions.php'; //de functies includen
include 'config.php'; //en de config
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="functions.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="style.css">
</head>
<body>
<div id='whoiswait'>
<div class='outer'>
<div class='inner'>
<img src="status.gif"><br />
Bezig met opvragen
</div>
</div>
</div>
<h1>WhoIs</h1>
<?php
flush(); //zorgen dat bezig met laden wordt weergeven
echo '<pre>'.
check($_GET['url'], $_GET['ext'], $servers[$_GET['ext']][0], 'whois', $servers[$_GET['ext']][3], $servers[$_GET['ext']][1], $servers[$_GET['ext']][2]).
'</pre>'; //echo de data
echo "<script type='text/javascript'>
if(document.getElementById('whoiswait'))
{
document.getElementById('whoiswait').style.display = 'none';
}
</script>"; //zorg dat de status div verborgen wordt
?>
</body>
</html>
include 'functions.php'; //de functies includen
include 'config.php'; //en de config
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="functions.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="style.css">
</head>
<body>
<div id='whoiswait'>
<div class='outer'>
<div class='inner'>
<img src="status.gif"><br />
Bezig met opvragen
</div>
</div>
</div>
<h1>WhoIs</h1>
<?php
flush(); //zorgen dat bezig met laden wordt weergeven
echo '<pre>'.
check($_GET['url'], $_GET['ext'], $servers[$_GET['ext']][0], 'whois', $servers[$_GET['ext']][3], $servers[$_GET['ext']][1], $servers[$_GET['ext']][2]).
'</pre>'; //echo de data
echo "<script type='text/javascript'>
if(document.getElementById('whoiswait'))
{
document.getElementById('whoiswait').style.display = 'none';
}
</script>"; //zorg dat de status div verborgen wordt
?>
</body>
</html>
style.css
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#demo
{
background:#EBEADB;
border:1px solid #CBC7B8;
padding:10px;
margin:10px 0px;
}
body
{
font-family:verdana,arial,helvetica;
font-size:80%;
margin:20px;
color:#000;
background:#FFF;
}
a, a:visited
{
color:darkblue;
text-decoration:none;
}
a:hover
{
color:maroon;
text-decoration:underline;
}
pre {
font-size: 11px;
font-family: Arial, Helvetica, sans-serif;
background-color:#FCFAF6;
}
th, td {
width: 33%;
}
.error
{
color:maroon;
font-weight: bold;
}
.vrij
{
color:green;
font-weight: bold;
}
#whoistable, input, select
{
font-size:0.85em;
font-family:verdana,arial,helvetica;
}
#whoistable
{
border-bottom:1px solid #D4D0C8;
}
#whoistable th
{
text-align:left;
}
#whoistable a, #whoistable a:visited
{
color:#000;
text-decoration:none;
}
#whoistable a:hover
{
color: #999;
text-decoration:underline;
}
h1
{
font-family:arial,helvetica,sans-serif;
font-size:1.8em;
color:#7C765A;
}
h2
{
font-family:arial,helvetica,sans-serif;
font-size:1.6em;
color:#AEA991;
}
.whoisform
{
display:inline;
}
#whoiswait
{
text-align: center;
position: absolute;
top: 50%;
width: 100%;
overflow: visible;
visibility: visible;
display: block;
}
#whoiswait .outer
{
margin-left: -200px;
position: absolute;
top: -60px;
left: 50%;
visibility: visible;
width:400px;
}
#whoiswait .inner
{
background-color:#FCFAF6;
padding:30px;
line-height:30px;
border:1px solid #D4D0C8;
}
#whoisdetails
{
font-family:verdana,arial,helvetica,sans-serif;;
font-size:0.85em;
padding:20px;
border:1px solid #D4D0C8;
background-color:#FCFAF6;
}
.linkbutton
{
font-size:1.0em;
width:80px;
}
.whoisrow1, .whoisrow1available
{
background-color: #FCFAF6;
border-top:1px solid #D4D0C8;
}
.whoisrow2, .whoisrow2available
{
background:#FFF;
border-top:1px solid #D4D0C8;
}
#verhuman
{
text-align:center;
border:1px solid #D4D0C8;
background:#FCFAF6;
padding:20px;
}
.verhuman
{
font-size:2.2em;
}
.verhumanimg
{
border:1px solid #000;
}
{
background:#EBEADB;
border:1px solid #CBC7B8;
padding:10px;
margin:10px 0px;
}
body
{
font-family:verdana,arial,helvetica;
font-size:80%;
margin:20px;
color:#000;
background:#FFF;
}
a, a:visited
{
color:darkblue;
text-decoration:none;
}
a:hover
{
color:maroon;
text-decoration:underline;
}
pre {
font-size: 11px;
font-family: Arial, Helvetica, sans-serif;
background-color:#FCFAF6;
}
th, td {
width: 33%;
}
.error
{
color:maroon;
font-weight: bold;
}
.vrij
{
color:green;
font-weight: bold;
}
#whoistable, input, select
{
font-size:0.85em;
font-family:verdana,arial,helvetica;
}
#whoistable
{
border-bottom:1px solid #D4D0C8;
}
#whoistable th
{
text-align:left;
}
#whoistable a, #whoistable a:visited
{
color:#000;
text-decoration:none;
}
#whoistable a:hover
{
color: #999;
text-decoration:underline;
}
h1
{
font-family:arial,helvetica,sans-serif;
font-size:1.8em;
color:#7C765A;
}
h2
{
font-family:arial,helvetica,sans-serif;
font-size:1.6em;
color:#AEA991;
}
.whoisform
{
display:inline;
}
#whoiswait
{
text-align: center;
position: absolute;
top: 50%;
width: 100%;
overflow: visible;
visibility: visible;
display: block;
}
#whoiswait .outer
{
margin-left: -200px;
position: absolute;
top: -60px;
left: 50%;
visibility: visible;
width:400px;
}
#whoiswait .inner
{
background-color:#FCFAF6;
padding:30px;
line-height:30px;
border:1px solid #D4D0C8;
}
#whoisdetails
{
font-family:verdana,arial,helvetica,sans-serif;;
font-size:0.85em;
padding:20px;
border:1px solid #D4D0C8;
background-color:#FCFAF6;
}
.linkbutton
{
font-size:1.0em;
width:80px;
}
.whoisrow1, .whoisrow1available
{
background-color: #FCFAF6;
border-top:1px solid #D4D0C8;
}
.whoisrow2, .whoisrow2available
{
background:#FFF;
border-top:1px solid #D4D0C8;
}
#verhuman
{
text-align:center;
border:1px solid #D4D0C8;
background:#FCFAF6;
padding:20px;
}
.verhuman
{
font-size:2.2em;
}
.verhumanimg
{
border:1px solid #000;
}