Íslensk IP net
Skrifađ af Tómas A. Árnason ţann 21. nóvember 2007 - 21:53
Fjöldi lestra: 1256Ţessi klassi leitar uppi ţjónustuađila eftir IP tölu.
Dćmi á notkun:
$foo = new is_ip_net;
$foo->isnet( 'IP TALA HÉR' );
echo $foo->ip . ' er hjá: ' . $foo->isp();
Sýnidćmi
Dćmi á notkun:
$foo = new is_ip_net;
$foo->isnet( 'IP TALA HÉR' );
echo $foo->ip . ' er hjá: ' . $foo->isp();
Sýnidćmi
1 | | |
Flottur klasi hjá ţér. Ţú hefđir samt alveg mátt útskýra notkun hans, en ég lagađi ţađ fyrir ţig. Endilega sendu meira inn. 
Ţar sem ţađ er lítiđ ađ gera í 10. bekk ţessa stundina skal ég reyna ađ 'bomma' nokkrum scriptum hérna inn á nćstunni...
Ég virđist ná ţví sama útur ţessari scriptu sem ég bjó til. Ţar ađ segja ef ćtlunin hjá ţér međ ţessu er ađeins ađ sćkja netrekandann.
205 línur í 85:
205 línur í 85:
<?php
/**
* @author Birkir Rafn Guđjónsson
* @copyright 2007
*/
$iptala = '127.0.0.1';
#Gerum ip net frá rix
$ipnet = array(
'127.0.0.1/32' => 'Heimanet', /* Localhost 0 */
'62.145.128.0/19' => 'Vodafone', /* OgVodafone 12969 */
'78.40.248.0/21' => 'Nova', /* Nova 43571 */
'79.171.96.0/21' => 'Basis', /* Basis 43892 */
'80.248.16.0/20' => 'Nýherji', /* Nýherji 39418 */
'81.15.0.0/17' => 'Vodafone', /* OgVodafone 12969 */
'82.112.64.0/19' => 'Reykjavíkurborg', /* Rvk. borg 31236 */
'82.148.64.0/19' => 'Menntamálaráđuneitiđ',/* Menntam. ráđun. 29348 */
'82.221.0.0/16' => 'Skýrr', /* Skýrr 30818 */
'83.173.0.0/18' => 'OR', /* OR 31441 */
'85.116.64.0/19' => 'Tölvun', /* Tölvun 34678 */
'85.197.192.0/18' => 'Hive', /* Hive 34464 */
'85.220.0.0/17' => 'Síminn', /* Síminn 6677 */
'87.237.32.0/21' => 'CPP', /* CCP 35834 */
'88.149.0.0/17' => 'Hive', /* Hive 34464 */
'88.151.48.0/21' => 'KB Banki', /* KB 39472 */
'89.160.128.0/17' => 'Vodafone', /* OgVodafone 12969 */
'130.208.0.0/16' => 'RHNet', /* RHNET 15474 */
'157.157.0.0/16' => 'Síminn', /* Síminn 6677 */
'192.147.34.0/24' => 'Síminn', /* Síminn 6677 */
'193.4.0.0/16' => 'Vodafone', /* OgVodafone 12969 */
'193.109.16.0/20' => 'Snerpa', /* Snerpa 24743 */
'194.105.224.0/19' => 'Síminn', /* Síminn 6677 */
'194.144.0.0/16' => 'Vodafone', /* OgVodafone 12969 */
'212.30.192.0/19' => 'Síminn', /* Síminn 6677 */
'212.126.224.0/19' => 'deCode', /* deCode 25244 */
'213.167.128.0/19' => 'Síminn', /* Síminn 6677 */
'213.176.128.0/19' => 'Vodafone', /* OgVodafone 12969 */
'213.181.96.0/19' => 'Netsamskipti', /* Netsamskipti 31410 */
'213.190.96.0/19' => 'Vortex', /* Vortex 25509 */
'213.213.128.0/19' => 'Vodafone', /* OgVodafone 12969 */
'213.220.64.0/18' => 'Vodafone', /* OgVodafone 12969 */
'217.9.128.0/20' => 'Vodafone', /* OgVodafone 12969 */
'217.28.176.0/20' => 'Skyggnir', /* Skyggnir 29689 */
'217.151.160.0/19' => 'Vodafone', /* OgVodafone 12969 */
'217.171.208.0/20' => 'Ţekking' /* Thekking 12969 */
);
#Fyrir hvern ipmaska í array, skal skipta í $ipmaski og $audkenni
foreach($ipnet as $ipmaski => $audkenni){
# Búum til regular expression fyrir ip maska
ereg("([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/([0-9]{1,3})", $ipmaski, $tala);
# Finnum upphafs-endatölu og enda-endatölu
$byrjar = $tala[4];
$endar = $tala[5];
#Gerum allar ip tölur sem tölubiliđ vill
while($byrjar <= $endar){
# Gerum ip tölu
$testip = $tala[1].'.'.$tala[2].'.'.$tala[3].'.'.$byrjar;
# Ef ip tala sú sama og á ip neti ţá birtum viđ netrekanda.
if($testip==$iptala){
echo $audkenni;
}
$byrjar++;
}
}
?>


3 athugasemdir skrifađar -