Domanda

Nello scrivere un modulo di login, desidero accedere IP come misura aggiuntiva per verificare chi è dall'altra parte è ancora la stessa persona dall'altra parte.

sto usando $_SERVER['REMOTE_ADDR'] come uno (dei tanti) modi per ottenere l'indirizzo IP della macchina remota. Oltre a un indirizzo IPv4 o IPv6, ci sono altri valori che dovrei aspettare questo per tornare?

È stato utile?

Soluzione

Non c'è davvero alcun una maggiore sicurezza per il controllo degli indirizzi IP in quanto questi possono essere facilmente falsificati e chiunque sia abbastanza esperto per essere transazioni POST intercettazione sta probabilmente facendo questo in ogni modo.

Inoltre, si può essere utenti legittimi potenzialmente fastidiosi. Pensate al caso in cui una persona può essere in una posizione in cui ci sono diversi hotspot wifi gratuiti all'aperto. Quando arrivano alla tua pagina di login, che possono essere collegati a un hotspot, ma dal momento in cui l'accesso, la loro macchina potrebbero aver deciso un altro router è una scelta migliore e quindi il loro IP cambierà. Che ci crediate o no, questo può scoraggiare un po '(anche se, molto pochi) utenti facilmente frustrati.

Onestamente, proprio non mi preoccuperei. Utilizzando SSL, se potete, di solito è il modo migliore per andare per evitare problemi di sicurezza come quello che stai descrivendo. Buona fortuna con il vostro progetto.

Altri suggerimenti

In base alla documentazione in linea di PHP solo un indirizzo IP deve essere restituito.

http://us.php.net/manual/en /reserved.variables.server.php

“ 'REMOTE_ADDR':

L'indirizzo IP da cui l'utente sta visualizzando la pagina corrente.”

Il valore può essere un indirizzo IPv4 o IPv6. Anche se si avrà probabilmente solo ottenere i valori canonici essere consapevoli del fatto che gli indirizzi IP possono essere scritti in diversi modi. 192.0.2.1 è la stessa 192.000.002.001, 2001:db8::1 è uguale 2001:0db0:0000:0000:0000:0000:0000:0001, ecc indirizzi IPv4 possono anche essere scritti in notazione IPv6 come ::ffff:192.0.2.1 o ::ffff:c000:0201 se il server web accetta connessioni IPv4 su prese IPv6. Vedo che i sistemi Linux su un sacco.

indirizzi IP registrazione non dovrebbe essere un problema, purché si riserva abbastanza spazio. In realtà che utilizzano indirizzi IP per il controllo di accesso sta diventando sempre più complicato in questi giorni. Perché le grandi parti del mondo sono a corto di nuovi indirizzi IPv4 si vedrà che gli ISP devono usare il NAT su larga scala per mantenere la connessione di nuovi clienti ad internet IPv4. Questi NAT su larga scala useranno un pool di indirizzi pubblici IPv4 forse per migliaia di clienti. Un indirizzo IP può essere utilizzato da molti clienti, e un cliente potrebbe finire con indirizzi diversi dalla piscina.

In IPv6 monitoraggio l'indirizzo IP ha altre cose da prendere in considerazione. Il meccanismo di auto-configurazione originale IPv6 si basa sull'utilizzo dell'indirizzo MAC come parte dell'indirizzo IPv6. A causa della privacy riguarda maggior parte dei sistemi operativi ora utilizzare un identificatore di interfaccia (tipo di) generata in modo casuale (solitamente gli ultimi 64 bit dell'indirizzo) per le connessioni in uscita, ed i bit possono / possono cambiare nel tempo. Alcuni sistemi operativi (Mac OS X), anche di dati relativi sia IPv4 o IPv6 è più veloce e ho visto i clienti passare avanti e indietro tra IPv4 e IPv6 in occasione.

E allora si può avere gli utenti che vagano da una rete di hotspot o in ufficio senza fili ad un altro, il passaggio in tal modo gli indirizzi IP.

Quindi penso che la registrazione degli indirizzi IP potrebbe avere senso in base a ciò che si vuole fare con i dati, ma li utilizzano come (parte di) una forma di controllo di accesso potrebbe causare più problemi di quanti ne vale la pena.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top