Gå til innhold

IP til besøkende på en side?


Anbefalte innlegg

Skrevet

Hei

 

 

Jeg bare lurer men viss jeg lager en hjemme side på en gratis server lets say home sant?

 

Gir ut adressen.. jeg er vb programmerer og vet at det må gå an å finne ip til folka som besøker den men hvordan?

 

Tusen takk for svar ;)

Videoannonse
Annonse
Skrevet
I PHP gjerast det iallfall sånn:

 

<?=$_SERVER['REMOTE_ADDR'];?>

5067599[/snapback]

 

Siden jeg aldri har laget en dritt i php kan du ikke sette det inni en sammenheng... liksom en linje som lagrer ip til alle besøkende i en fil på serveren?

 

:innocent::innocent: Evig takknemmelig :innocent:

Skrevet
I PHP gjerast det iallfall sånn:

 

<?=$_SERVER['REMOTE_ADDR'];?>

5067599[/snapback]

Forøvrig kan og $_SERVER['HTTP_X_FORWARDED_FOR'] brukes, veldig fin for å fange opp enkelte IP adresser som skjuler seg bak en proxy.

Skrevet

God dagen Ueland.. :devil:

 

Takker for forslag men e det ingen som gidde å lage en komplett fil som kan logge IP...

 

Dette er så kjent for meg som ASM er for dere.... plz plz plz :innocent:

Skrevet

Ikke for å være jævlig krevende eller noe slikt men trenger litt til hjelp

 

Takker for linken.... men kan du lage en ferdig fil med PHP koden ferdig?

 

plz jeg er helt hjelpe løs her... evig evig takknemlig :innocent::innocent:

Skrevet
<?php
$filename = 'test.txt';
$somecontent = $_SERVER['HTTP_X_FORWARDED_FOR'];

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

  // In our example we're opening $filename in append mode.
  // The file pointer is at the bottom of the file hence
  // that's where $somecontent will go when we fwrite() it.
  if (!$handle = fopen($filename, 'a')) {
        echo "Cannot open file ($filename)";
        exit;
  }

  // Write $somecontent to our opened file.
  if (fwrite($handle, $somecontent) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }
 
  echo "Success, wrote ($somecontent) to file ($filename)";
 
  fclose($handle);

} else {
  echo "The file $filename is not writable";
}
?> 

Skrevet

Skal vi se jeg tok koden over puttet det inn i en fil som jeg kalte index.html

 

Lastet opp til serveren, har aktivert PHP på serveren men det funker ikke...

Jeg finner ingen fil på serveren med min ip etter jeg har besøket siden?`

:innocent:

Skrevet

Litt endret:

<?php
$filename = 'test.txt';
$somecontent = $_SERVER['HTTP_X_FORWARDED_FOR'];
if(!isset($somecontent)) {
 $somecontent = $_SERVER['REMOTE_ADDR'];
}

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

 // In our example we're opening $filename in append mode.
 // The file pointer is at the bottom of the file hence
 // that's where $somecontent will go when we fwrite() it.
 if (!$handle = fopen($filename, 'a')) {
       echo "Cannot open file ($filename)";
       exit;
 }

 // Write $somecontent to our opened file.
 if (fwrite($handle, $somecontent) === FALSE) {
     echo "Cannot write to file ($filename)";
     exit;
 }

 echo "Success, wrote ($somecontent) to file ($filename)";

 fclose($handle);

} else {
 echo "The file $filename is not writable";
}
?>

 

 

$_SERVER['HTTP_X_FORWARDED_FOR'] Vil nemlig kun fungere hvis den har noe å forwarde :)

Skrevet (endret)

Du må sjølv laste opp fila test.txt, og i tillegg må fila heite index.php, ikkje index.html. ;)

 

Ah, selvfølgelig, Ueland. :)

Endret av Henrik Lied
Skrevet (endret)

Vil virkelig $_SERVER['HTTP_X_FORWARDED_FOR'] fungere selv når brukeren sitter bak en Proxy? Stilig, dette skal testes ut. :)

Endret av @kd
Skrevet (endret)

Utrolig stillig... nå må eg lære meg php :!:

 

Kjempe tøft

 

 

EDIT:

 

Lite spørsmål.. lå merke til at den logge ip`ne rett ettervherandre i filen..

Samme linje uten mellomrom...

 

Peiling på hvordan jeg kan få den til å hoppe ned en linje... ? :hmm:

 

EDIT2:

 

Og eventuelt lagre tid/dato sammen med ip på en linje? :innocent::innocent:

Endret av chills
Skrevet (endret)

Rett over "// let's make sure the file exists first", legg til denne linja:

$somecontent .= " " . date("d-m-y H:i:s") . "\n";

 

Da får du dato og linjeskift. :)

 

Du kan også endre på date-funksjonen, slik at du får datoen i det formatet du vil. En annen, og i mine øyne bedre, metode er å bruke time(), som setter inn et UNIX-timestamp. Da er du fri til å printe datoen i det formatet du vil senere.

Endret av Mikka
Skrevet
Rett over "// let's make sure the file exists first", legg til denne linja:

$somecontent .= " " . date("d-m-y H:i:s") . "\n";

 

Da får du dato og linjeskift. :)

 

Tok og prøvde det, og tidsfunksojnen virka bra, men jeg får ikke noe

linjeskift, i stedet kommer et sånt firkant tegn som skiller dem.

 

Bruker Apache (2.0.52)

Skrevet (endret)

Denne her kan du inklude på siden din, slik at den viser hvor mange treff du har. Dessuten kan du taste inn adressen www.DINSERVER.no/treff/logg.txt, og se alle IP'ne, HOST-adresser og når dei var inne på siden. DU kan også velge om den skal logge hver PC hver gang siden blir reloada, eller en logging pr. 24de time.

 

EDIT: logg.txt må chmoddes til 777.

treff.zip

Endret av Goscinny
Skrevet
Tok og prøvde det, og tidsfunksojnen virka bra, men jeg får ikke noe

linjeskift, i stedet kommer et sånt firkant tegn som skiller dem.

 

Bruker Apache (2.0.52)

5085819[/snapback]

Det var da mycket märkligt. Hva om du skriver \r\n i stedet for bare \n?

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...