Gå til innhold

Ip logging


Anbefalte innlegg

Heisann, forsøker å logge iper i min gjestebok. Har funnet denne phpsaken som skal skrive ip til en fil. Implementering for skje en annen gang :




<?php 

session_start(); 

if(!session_is_registered('counted')){ 

    $agent = $_SERVER['HTTP_USER_AGENT'];  //dette er line 4..

    $uri = $_SERVER['REQUEST_URI']; 

    $user = $_SERVER['PHP_AUTH_USER']; 

    $ip = $_SERVER['REMOTE_ADDR']; 

    $ref = $_SERVER['HTTP_REFERER']; 

    $dtime = date('r'); 

     

    if($ref == ""){ 

        $ref = "None"; 

    } 

    if($user == ""){ 

        $user = "None"; 

    } 

     

    $entry_line = "$dtime - IP: $ip | Agent: $agent  | URL: $uri | Referrer: $ref | Username: $user n"; 

    $fp = fopen("logs.txt", "a"); 

    fputs($fp, $entry_line); 

    fclose($fp); 

    session_register('counted'); 

} 

?>

 

Legger jeg den ut på start.no så får jeg

Parse error: parse error in /home/g/gj/gjestebo/public_html/ar.php on line 4

På min egen server, med nyeste php version tror jeg

Parse error: parse error, unexpected T_VARIABLE in c:inetpubwwwrootar.php on line 4

 

Tror jeg får feil på alle $uri, $agent, $ip og disse i starten. Er helt newbie med PHP, men har en del kunnskaper fra andre progge språk, så jeg "skjønner" en del kode. :wink:

 

Edit; Forsåvidt så funker denne:

<?php 

echo ( $_SERVER["REMOTE_ADDR"] ); 

?> 

 

Du kan jo hjelpe meg (peke på tutorial) til å skrive "REMOTE_ADDR" til en fil også..

Lenke til kommentar
Videoannonse
Annonse

Whops, studerte litt kode her. Og prøvde meg litt rundt (ingen tutorials, kun "se på kode og forstå" modus)

Kom opp med dette

<?php

$filename = 'ip.txt';

$fp = fopen($filename, "a");

$string = ( $_SERVER["REMOTE_ADDR"] );

$fullsak = ("Ip adresse: $string");

$write = fputs($fp, $fullsak);

fclose($fp);

?>



 

Dette funker jo! Takk for hjelpen :lol:

Men hvordan får jeg inn linjeskift etter at $string blir satt inn i $fullsak.

Altså slik at teksten "Ip adresse:" kommer på ny linje neste gang?

Altså $fullsak = ("Ip adresse: $string $linjeSkiftKommando");

Lenke til kommentar
  • 2 uker senere...

Jeg har nå sett litt hvordan mitt script funker..

Det er noen flauser da:

Jeg fikk en venn av meg til å gå til www.whatismyip.com (Han har telenor)

Der fikk han 217.70.229.46, det vet jeg at flere andre telenor kunder får også. En gethostbyaddr() gir wittgenstein.ti.telenor.net.

 

Dette vil si at min logging ikke fungerer, dvs jeg kan ikke skille melleom en del telenor (proxy?) kunder. Finnes det noen annen måte, hvor jeg får deres egentlig ip eller noe?

Lenke til kommentar
<?php

$filename = 'ip.txt';

$fp = fopen($filename, "a");

$string = ( $_SERVER["REMOTE_ADDR"] );

$fullsak = ("Ip adresse: $string");

$write = fputs($fp, $fullsak);

fclose($fp);

?>

 

Hvordan/hva kan jeg legge inn slik at den også skriver inn dato/klokkeslett til samme linje?

 

Tittet på din Scalpel, men fikk den ikke til å funke.

Mvh

Goebbels

Lenke til kommentar

Sånn:

 

<?php 

$filename = 'ip.txt'; 

$fp = fopen($filename, "a");



if(isset($_SERVER['HTTP_CLIENT_IP']))

 $ip = $_SERVER['HTTP_CLIENT_IP']; 

else

 $ip = $_SERVER['REMOTE_ADDR'];



if($write = fputs($fp, date("dmY H:i:s")." - ".$ip))

 echo 'Skrev til fil.';

else

 echo 'Feil ved skriving til fil';

fclose($fp); 

?>

 

Denne koden vil lagre data + ip i følgende format:

ddmmyyyy hh:mm:ss - xxx.xxx.xxx

Lenke til kommentar

4.3.0 på IIS 5.1 på Windows Xp

 

Jeg fant ut følgende:

På serveren hvor jeg hoster gjesteboken min, så blir $REMOTE_ADDR på de fleste telenor kunder lik.. (altså slik som på www.whatismyip.com.)

På home.no.net så finner $REMOTE_ADDR den korrekte på telenorkundene..

Lenke til kommentar

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...