Newsgroup: it.comp.www.php
Titolo: REMOTE_ADDR

Ciao, vorrei sapere qualcosa di preciso su REMOTE_ADDR.
Precisamente quale ip recupero? Se cambia, quando?
Chiedo questo perchè ho letto il codice di alcune pagine per la protezione
di alcune pagine. Nelle istruzioni c'è scritto che cambiando sito e tornando
su quello con le pagine protette devo rifare il login (ed è giusto così).
Nel codice c'è scritto che se $ip ($ip = getenv("REMOTE_ADDR")) è diverso
dall'ip della sessione ($ip_sess) non mi fa vedere le pagine rinviandomi al
login.
Sapete dirmi qualcosa di preciso?
Grazie,
Michele
--------------------------------
Inviato via 
http://usenet.libero.it

 login.
Scelta errata: se si utilizza un proxy e si esce solo con quello allora 
tutti gli utenti avranno lo stesso REMOTE_ADDR, il che vuole dire 
sicurezza che si va a far benedire.
Ciao.
-- 
Morelli Michel
ZioBudda.net Coordinator
mic...@ziobudda.net


Infatti utilizzo proprio un proxy quindi devo cambiare qualcosa. E'
possibile fare in modo che gli utenti seguano un percorso prefissato,
intendi dire che possano andare solo dalla pagina a alla pagina b e dalla b
alla c (poi devono solo fare il logout).
Soluzioni?
Serve un pezzo del codice
Ciao,


 Soluzioni?
Controllando il referer (provenienza) puoi far seguire un percorso
prefissato agli utenti.
Ciao
Max

 Max
OK, proverň, grazie,


Sapete dirmi qualcosa di preciso?
E' una sicurezza minimale. Se quell'IP cambia, allora e' bene eliminare
la sessione; ma se rimane lo stesso, non e' detto che tutto vada bene.
Perche' ad esempio se due si collegano tramite lo stesso proxy oppure a
carico dello stesso NAT, avranno lo stesso REMOTE_ADDR.
Puoi aggiungere anche HTTP_USER_AGENT, con gli stessi problemi (diventa
un po' meno probabile ma sempre possibilissimo, che due persone diverse
abbiano uguale REMOTE_ADDR e uguale HTTP_USER_AGENT).
Puoi valutare come varia REMOTE_PORT (rischi dei falsi positivi in caso
di NAT, proxy, eccetera).
Un altro caso di falso positivo e' se qualche pirla usa MultiProxy, per
cui due richieste consecutive dello stesso browser t'arriveranno da due
IP diversissimi fra loro.
Leonardo

 carico dello stesso NAT, avranno lo stesso REMOTE_ADDR.
alcuni proxy di aziende/scuole/cybercaffe rivelano l'ip privato (usato nella
lan) che ti permette di distinguere tra utenti diversi con lo stesso
REMOTE_ADDR:
$_SERVER ["HTTP_X_FORWARDED_FOR"]
emanuele

$_SERVER ["HTTP_X_FORWARDED_FOR"]
Si', o anche HTTP_VIA o HTTP_X_VIA (o HTTP_CLIENT_IP se ricordo bene), a
seconda del software. Ma sono sempre strade pericolose, perche', ad es.,
io potrei connettermi e mandarti uno header X_FORWARDED_FOR; ora, io NON
posso falsificare REMOTE_ADDR perche' non e' una informazione che "mando
io".
Ed esaminare le porte 8080/3128/sarkàz per capire se e' un proxy o no e'
rognoso (e inutile: metti che sia un proxy firewallato, che, dall'IP del
*server* web, ritorna fisso 'REJECT' come se NON fosse un proxy... o, in
alternativa, che ci sia un vero falso proxy...).
Ma se lo script PHP, trovando X_FORWARDED_FOR, ignorasse REMOTE_ADDR dal
momento che pensa "Ah! Un proxy!", e proseguisse fidandosi del valore di
X_FORWARDED_FOR che gli ho spedito io con le mie manine adunche...
Leonardo Cingar
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 Michele
l'HTTP_REFERER è una soluzione veloce ma altrettanto poco sicura, dato 
che chiunque te lo può passare come vuole.
L'unica soluzione 'giusta' per mantenere un minimo di robustezza è 
affidarsi a dati da te mantenuti in sessione.
bye!