Avatar billede danauktion Nybegynder
30. januar 2004 - 17:39 Der er 8 kommentarer

Identificering af en bestemt computer/bruger

Hvordan identificerer jeg en bestemt computer, hvorfra der er logget på mit site ?
Jeg ved godt hvorledes jeg finder IP-nummeret ($ip=$_SERVER['REMOTE_ADDR']; ), men det IP nummer kan jo være et IP nummer fra et større netværk og hvis man vil IP-banne, så er det jo ikke så heldigt hvis man banner 4000 brugere fra et større multinationalt firma, når det man ønskede det var at formene en enkelt bruger fra sit Site, fordi han/hun ikke kan efterleve Sitets regler om god opførsel...og han/hun blot bliver ved med at oprette brugerid'er som henviser til gratis email accounts, som kan fås anywhere
Avatar billede googolplex Novice
30. januar 2004 - 17:49 #1
Du kan IKKE med sikkerhed identificere en computer. Jeg bruger følgende:

function findip()
{
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && '' != $_SERVER['HTTP_X_FORWARDED_FOR'] && 'unknown' != $_SERVER['HTTP_X_FORWARDED_FOR'])
    {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
        $ip = $_SERVER['REMOTE_ADDR'];
    }   

    $ip = explode(',', $ip);
    $ip = $ip[0];

    return $ip;
}
Avatar billede danauktion Nybegynder
30. januar 2004 - 18:23 #2
Og hvad er det din funktion, så returnerer ? Er det den interne ip i tilfælde af at brugeren sidder bag en router oder was :-)
Avatar billede asgerz.dk Nybegynder
30. januar 2004 - 19:00 #3
Den eneste måde du kan være sikker på at du banner den "rigtige" er ved at banne den mac som brugeren benytter...
Avatar billede lobster Nybegynder
30. januar 2004 - 19:20 #4
lytter lige med her..
Avatar billede exp Juniormester
30. januar 2004 - 19:45 #5
Avatar billede googolplex Novice
30. januar 2004 - 21:18 #6
Min funktion forsøger at finde den enkelte computers IP (hvis den er bag en router) og hvis den ikke eksisterer returnerer den routerens IP.

Men der er INGEN måde hvorpå du med sikkerhed kan banne én computer :(
Avatar billede fangel Nybegynder
30. januar 2004 - 21:33 #7
asgerz-dk -> i tilfælde af du ikke vidste det, så sendes MAC-add. kun ud over lokal-nettet (dvs den bliver ikke routet med ud på nettet)
OG MAC-add. kan ændres med relativt simple værktøjer (læs: software)

Du kan IKKE 100% sikkert identifisere en bruger af en computer fra en anden... lidt "nedslagtning" af måder:

  IP : kan skifte - dail-up brugere for fx ny IP ved hvert logon
  Hostname : skifter med IP
  MAC-add : sendes kun ud over LAN, ikke WAN (local vs world)
  Cookie : Brugeren kan bare slette cookien
  Session med expire-time på 3 år : benytter cookies - se ovenfor

og HTTP_X_FORWARDED_FOR er til hvis en person skulle "lege" med en proxy... hvis routere sender dem med er det ikke smart -- for ca 75% af routere bruger 192.168.xxx.xxx til LAN-net, dvs et betydeligt antal vil stå som 192.168.0.5 (fx)

Morten
Avatar billede lobster Nybegynder
30. januar 2004 - 23:58 #8
exp -> Smart :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester