[pomysl] BAn na adres MAC

0

Moze bany moznaby bylo zalozyc na adres sprzetowy karty ?

0

Pomysl dobry, ale jak to zrobic w PHP [???]

0

moze tak ?
to nie moj kod zebyscie nie mysleli ze sie znam

<?php

function returnmacaddress() { 
// Testowane tylko na linuxie,
 // komendy 'which' and 'arp' powinny byc udostepnione jako wykonywalne 
// przez uzytkownikow apache 
// na wiekszosci linuxach domyslna konfiguracja na to pozwala

// ustawiamy komende ARP 
$location = `which arp`; 
$location = rtrim($location); 
// wykonujemy komende ARP i zapamietujemy jaw $arpTable 
$arpTable = `$location -n`; 
// Dzielimy dane pobrane i wstawiamy do tablicy $arpSplitted 
$arpSplitted = split("\n",$arpTable); 
// pobieramy adres ip (ip adres klienta z przegladarki) 
$remoteIp = $GLOBALS['REMOTE_ADDR']; 
$remoteIp = str_replace(".", "\\.", $remoteIp); 
// przyoisujemy wynik
foreach ($arpSplitted as $value) { 
// Dzielimy kazda  line arp,  
$valueSplitted = split(" ",$value); 
foreach ($valueSplitted as $spLine) { 
if (preg_match("/$remoteIp/",$spLine)) { 
$ipFound = true; 
} 

// IP zostanie znalezione to pobieramy mac adres 
if ($ipFound) { 
// przeszukujemy STRING z IP zwrucony przez ARP
reset($valueSplitted); 
foreach ($valueSplitted as $spLine) { 
if (preg_match("/[0-9a-f][0-9a-f][:-]". 
"[0-9a-f][0-9a-f][:-]". 
"[0-9a-f][0-9a-f][:-]". 
"[0-9a-f][0-9a-f][:-]". 
"[0-9a-f][0-9a-f][:-]". 
"[0-9a-f][0-9a-f]/i",$spLine)) { 
return $spLine; 
} 
} 
} 
$ipFound = false; 
} 
} 
return false; 
} 

?>

//proponuje wrzucic do FAQ - chmolu

0

Moze ktos to sprawdzic?

0

http://forums.devarticles.com/showthread.php?p=36418
Może tu znajdzie się jakieś objaśnienie do tego kodu :)

0

Nie znam się na PHP, ale patrząc na ten kod od strony technicznej jest raczej zły.

Funkcja ta korzysta z polecenia arp, który zwraca adres MAC dla interfejsów lokalnych. Można dodawać to tabeli arp wpisy statyczne, ale trzeba podać adres sprzętowy :)
Zresztą jak jestem za NAT nie jest możliwe zdobycie adresu karty w sieci wewnętrznej, nawet jakby udało się w ten sposób to będzie do adres MAC serwera\bramy.

Co jeżeli użytkownik łączy się z poziomu modemu, adaptera ISDN? Te urządzenia nie posiadają adresu mac.

Na localhoscie to powinno działać, ale już po wrzuceniu na serwer, wątpie.

Zresztą w tym wątku co podał chmolu wszystko piszę

// jest napisane :P - chmolu

0

jezeli zabanujesz adres SPRETOWY modfemu dostepowego inni tez sie nie polacza ale jezeli jeden user zza NATU dostanie bana to tez na IP tego modemu sprzetowego , tak mysle. sam nie wiem nie zna msie tak bardzo

//skoro sie nie znasz, to po co zabierasz glos? - lofix

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0