TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Dynamic DNS a costo zero
Dovete pubblicare un sito o collegarvi sempre e ovunque al vostro PC e vi serve un indirizzo IP fisso? Noi vi mostriamo come farlo senza spendere soldi
(pagina 3 di 6)
Uno sguardo “sotto il cofano”
Vediamo a grandi linee il meccanismo di funzionamento degli script PHP che danno vita al nostro server pseudo-DDNS.  Lo script index. php inizia con l’inclusione del file database.php che si occupa di stabilire una connessione al database server MySQL dopodiché si verifica l’esistenza delle variabili $_POST[‘username’] e $_POST[‘password’]: la prima volta che questa pagina viene visualizzata in un web browser le due variabili non risultano settate quindi verrà richiamata la funzione formLogin (riga 8). Questa funzione non fa altro che visualizzare un modulo composto da due campi (username e password) e da un tasto per l’invio. I valori che l’utente scriverà in questi campi saranno inviati con il metodo POST al medesimo script index.php. Dopo la compilazione del modulo le due variabili $_POST[‘username’] e $_ POST[‘password’] risulteranno impostate ed il codice eseguito sarà quello che inizia alla riga 11. Qui viene richiamata la funzione verificaLogin che ha il compito di verificare se lo username e la password sono presenti nel database. Altri parametri della funzione sono le variabili $ipaddress e $msgErrore che vengono passate per riferimento (notare il simbolo “&”) e che quindi potranno essere modificate dalla funzione verificaLogin. Effettivamente $msgErrore conterrà gli eventuali messaggi di errore che dovranno essere notificati all’utente (ad esempio se lo username non è presente nel database) mentre $ipaddress verrà impostato dalla funzione verificaLogin con l’indirizzo IP che nel database risulta appartenere all’utente. La funzione verificaLogin restituisce il valore 0 se l’autenticazione dell’utente viene eseguita correttamente mentre restituisce 1 in caso di insuccesso; in quest’ultimo caso dalla riga 11 si salta alla riga 37: viene richiamata nuovamente la funzione formLogin e quindi all’utente sarà riproposto il modulo per l’accesso con in evidenza il messaggio di errore $msgErrore. Se il login ha successo viene eseguito il blocco di codice che va dalla riga 14 alla riga 34 che prevede innanzitutto il confronto tra l’indirizzo IP memorizzato nel database ($ipaddress) e quello rilevato dal server ($_SERVER[‘REMOTE_ADDR’]): se c’è stata una modifica dell’indirizzo rispetto all’ultimo valore registrato viene eseguito un aggiornamento al database (righe 15-16). Alla riga 21 si verifica se la form di login è stata compilata dall’utente usando un comune web browser oppure dal client ddns.sh che analizzeremo in seguito: la verifica si basa su un campo nascosto della form ($_POST[‘interattivo’]) che viene impostato solo dal web browser mentre non viene affatto considerato dallo script Bash. In pratica, quindi, se la pagina viene visualizzata in modo interattivo dall’utente a questo punto comparirà un messaggio di conferma (righe 23-27) mentre in caso contrario (righe 30-33) per ogni account presente nel database viene creata una riga che contiene la stringa “<<>>” (vedremo in seguito a cosa serve), il nome dell’utente, una tabulazione orizzontale e, infine, l’indirizzo IP attualmente associato. L’output ottenuto sarà simile al seguente:
<<>>pippo 192.168.1.12
<<>>pluto 10.0.1.13
<<>>paperino 172.16.1.23

Configurare la parte client
Il tool per il servizio di Dynamic DNS comunica l’indirizzo IP della macchina al server.
Pagina 3/6

Commenta

Prima di pubblicare un tuo commento assicurati che:
  • sia in tema e contribuisca alla discussione in corso
  • non abbia contenuto razzista o sessista
  • non sia offensivo, calunnioso o diffamante
La redazione con i controlli a campione si riserva di cancellare qualsiasi contenuto ingiurioso, volgare, illegale o contrario alla policy.
Nome e Cognome
E-mail
Commento
Digita i caratteri che vedi nell'immagine qui sopra


Tag: sistema dns, pubblicazione, siti internet, ip fisso, DynDNS
Condividi