Newsgroup: it.comp.lang.perl
Titolo: Aiuto : controllo sull'ip ...

Ciao a tutti!
Ho un problema:
ho un cgi che mi conta il numero di downloads di alcuni files e mi fa una
classifica; vorrei che la classifica fosse aggiornata solo se chi fa il
download ha un'ip nuovo (cioč, vorrei che, in pratica, non si potesse
"imbrogliare" scaricando 50 volte una cosa solo per farla andare avanti
nella classifica); ho trovato cose del genere in programmi perl che
gestiscono i sondaggi, ma siccome sono abbastanza ignorante in materia, non
sono stata in grado di adattarli. Potreste segnalarmi o mandarmi una rotine
che mi fa questo benedetto controllo?
Grazie
Ciao
Giada

 rotine che mi fa questo benedetto controllo?
  Il controllo dell'IP address non e` il metodo piu` sicuro per ottenere
il risultato che cerchi. Ad ogni modo, la variabile d'ambiente
$ENV{'REMOTE_ADDR'), se definita, e` quello che chiedi.
  Il mio consiglio, pero`, e` di dare un'occhiata al meccanismo dei
"cookie" (perldoc -m CGI::Cookie).
	Alla prossima,
		Marco

download ha un'ip nuovo (cioč, vorrei che, in pratica, non si potesse
Se contorlli l'IP non hai la certezza che chi scarica sia una persona
diversa, comunque sia penso si tratti di un controllo sufficientemente
preciso per ottenere delle statistiche.
L'indirizzo IP del client e` memorizzato nella variabile d'ambiente
REMOTE_ADDR, che ottieni con $ENV{'REMOTE_ADDR'}. Devi tenerti un file
in cui memorizzi tutti gli IP di chi scarica i programmi: ad ogni nuovo
download confronterai l'IP del client con tutti quelli del file; se c'e`
una corrispondenza allora non tocchi le statistiche, se viceversa essa
non esiste incrementi le statistiche e memorizzi l'IP nel file.
	A presto, Michele.
-- 
Michele Beltrame
m...@io.com
http://www.io.com/~mick/
==> Visita il sito di it.comp.lang.perl: 
http://www.perl-it.org
==> Sei del triveneto e vuoi unirti ai Perl Mongers? Scrivimi!

 non esiste incrementi le statistiche e memorizzi l'IP nel file.
Consiglio di 'pulire' periodicamente il file degli IP consentendo, per
esempio,
di scaricare lo stesso file una volta al giorno con lo stesso IP.
Altrimenti c'è il rischio di non loggare anche download 'leciti' del
file.
Valerio

 $ENV{'REMOTE_ADDR'), se definita, e` quello che chiedi.
Se chi si connette con te utilizza un proxy la variabile
$ENV{'REMOTE_ADDR') contiene l'IP del proxy.
In questo caso l'ip che serve a te e' scritto nella variabile
$ENV{'HTTP_X_FORWARDED_FOR '} (se definita).
Tutto questo comunque e' OT qui.
ciao, marco
--
Marco Cacchiani                                
e-mail:ma...@sirius.pisa.it
Public pgp key:         
http://www.sirius.pisa.it/marco/pgp_public_key.asc
Sirius Servizi Informatici                     e-mail: 
in...@sirius.pisa.it
Parco Teatro Pasolini, 1                       Phone:  +39 (50) 865120
I-56019 - Vecchiano                            Fax:    +39 (50) 860260
(Pisa - ITALIA)                                
http://www.sirius.pisa.it/

 Tutto questo comunque e' OT qui.
  Perche`?
	Alla prossima,
		Marco

$ENV{'HTTP_X_FORWARDED_FOR '} (se definita).
Questa, se non erro, potrebbe anche contenere un indirizzo locale
tipo 192.168.1.6. O no?


 tipo 192.168.1.6. O no?
la risposta e' si'.


preciso per ottenere delle statistiche.
un proxy potrebbe dare fastidio.
Oha
-- 
#include <disclaimer.h>