Visualizzazione risultati 1 fino 7 di 7

Discussione: Pagina php che controlla visitatori

  1. #1
    Data registrazione
    30-03-2009
    Residenza
    Bolzano
    Messaggi
    127

    Question Pagina php che controlla visitatori

    Ciao, io vorrei includere per sicurezza nel mio forum (che costruirò) una pagina in php che salva indirizzo IP, data e ora, e il referer di chi accede alla home del forum.
    I dati vengono salvati su un file html.

    I problemi sono 2:

    1)La pagina si allunga a dismisura perchè vengono contati naturalmente tutti i refresh della stessa pagina, questo perchè non so usare le sessioni.

    2)Vorrei aggiungere anche il sistema operativo, e browser in uso, ma anche questo non ho una minima idea di come si mettano.


    Intanto vi posto il codice che ho creato (che funziona) :


    visitors.php
    Codice PHP:
    <?php
    $cookie
    = $_GET['c'];
    $ip = getenv ('REMOTE_ADDR');
    $date=date("j F, Y, g:i a");
    $referer=getenv ('HTTP_REFERER');
    $fp = fopen('/membri/fabrizioroccapc/access.html', 'a');
    fwrite($fp, 'Cookie: '.$cookie.'<br> IP: ' .$ip. '<br> Date and Time: ' .$date. '<br> Referer: '.$referer.'<br><br><br>');
    fclose($fp);
    ?>

    Naturalmente la pagina "access.html" non verrà linkata da nessuna parte, perchè è quella che contiene tutte le informazioni degli accessi al forum, e io ci tengo alla riservatezza degli utenti.

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Per le variabili server, penso ti possa interessare questa pagina della documentazione di PHP: http://php.net/manual/en/reserved.variables.server.php (browser e sistema operativo si trovano nella variabile HTTP_USER_AGENT)

    Per misurare gli accessi unici, questa potrebbe essere una soluzione:
    Codice PHP:
    <?php
    session_start
    ();
    if (!isset (
    $_SESSION['accesso'])
    {
    // esegui le operazioni di logging, come sopra...

    // memorizza l'accesso dell'utente, in modo da non ripetere più questo codice
    $_SESSION['accesso'] = 1;
    }
    ?>
    Un consiglio: il file access.html ti conviene inserirlo in un'area riservata e bloccata da strumenti tipo il lucchetto di AV. Il solo fatto che non la colleghi al resto del sito non è di per sé sufficiente garanzia di riservatezza (pensa solo se qualcuno venisse a scoprire per altri metodi - tipo leggendo questo topic - dove si trova il file...).

    Stammi bene...
    Ultima modifica di dementialsite : 19-06-2010 alle ore 10.44.41
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Data registrazione
    30-03-2009
    Residenza
    Bolzano
    Messaggi
    127

    Predefinito

    Ma se io metto il file access.html dentro una cartella area riservata (lucchetto di AV), lo script è poi in grado di accedere e aggiungere righe al file, oppure mi dà errore ?

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Gli script PHP sono in grado di accedere al file senza problemi. Quello che non funzionerebbe sono le chiamate HTTP dall'esterno: se lo script lo inserisci in una cartella lucchettata, non può essere eseguito dall'esterno se non viene inserita la password corretta.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Data registrazione
    30-03-2009
    Residenza
    Bolzano
    Messaggi
    127

    Predefinito

    Ho provato come hai detto tu, ma non mi funziona

    Ecco il codice

    Codice PHP:
    <?php
    session_start
    ();
    if (!isset (
    $_SESSION['accesso'])
    {
    $cookie = $_GET['c'];
    $ip = getenv ('REMOTE_ADDR');
    $date=date("j F, Y, g:i a");
    $referer=getenv ('HTTP_REFERER');
    $fp = fopen('file.html', 'a');
    fwrite($fp, 'Cookie: '.$cookie.'<br> IP: ' .$ip. '<br> Date and Time: ' .$date. '<br> Referer: '.$referer.'<br><br><br>');
    fclose($fp);

    // memorizza l'accesso dell'utente, in modo da non ripetere più questo codice
    $_SESSION['accesso'] = 1;
    }
    ?>

    Non funge la riga 4

    -

    qualcuno saprebbe aiutarmi ?

    E' da giorni che provo in modi diversi ma non ci riesco, mi dà sempre errore
    Ultima modifica di andreafallico : 22-06-2010 alle ore 12.54.12

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Un punto di partenza per continuare sarebbe anche sapere qual è l'errore che ti viene restituito... visto che il codice sopra non sembra sbagliato (ho solo qualche dubbio sulla funzione getenv(): hai provato ad accedere direttamente all'array $_SERVER?).

    UPDATE: in realtà un errore c'è, alla fine della terza riga manca una parentesi...

    Stammi bene,..
    Ultima modifica di dementialsite : 22-06-2010 alle ore 12.08.14
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Data registrazione
    30-03-2009
    Residenza
    Bolzano
    Messaggi
    127

    Predefinito

    Perfetto ! Funziona !

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •