2011-02-08 10 views
6

C'è un buon modo per essere in grado di dire se un utente ha un IP statico? Voglio essere in grado di identificare quali utenti che arrivano sul mio sito hanno IP statici.Come capire se un utente su un sito ha un IP statico?

+1

Appartiene a [SuperUser] (http://superuser.com/). Oh woops, non ho visto il tag php ... Maledizioni. –

+1

come sotto no, e un ip può cambiare da uno all'altro, che cosa stai cercando di ottenere sapendo che questo è in primo luogo? –

risposta

0

Il client Apache verrà consegnato un pacchetto che ti dice solo qual è l'indirizzo IP.

È possibile tenere traccia degli IP e verificare se vengono utilizzati ripetutamente, ma quelli statici o dinamici sono negoziati dalla rete a cui si sta collegando e non dal proprio sito Web.

5

No, non c'è. Questa è informazione che si trova solo su quella rete.

0

Non proprio, solo tramite l'evidenza empirica, stesso IP alzare ripetutamente - anche allora che c'è alcuna garanzia che sia lo stesso utente, a meno che non è abbinato a un account utente o di biscotto, ecc

se un IP è statico o allocata dinamicamente non è qualcosa che può essere interrogato.

0

Potrebbe essere possibile rilevare la presenza di NAT, perché il NAT "mangia" i pacchetti. Non sono sicuro di come NAT funzioni esattamente, penso che sia basato sulla porta sorgente. Ma penso che NAT possa manipolare altre parti dell'intestazione TCP come il time-to-live in modi riconoscibili. Non che NAT sia al 100% la garanzia di avere un IP dinamico, ma è spesso usato con DHCP.

2

Come altri hanno già accennato, non esiste un modo sicuro per stabilire se un dato indirizzo IP è assegnato staticamente o dinamicamente.

Potreste essere in grado di ottenere il 90% del tragitto sfruttando gli sforzi di alcune delle organizzazioni anti-Spam là fuori - per esempio, Spamhaus PBL, la "Politica Block List", è un database di IP intervalli di indirizzi che sono stati identificati dagli ISP responsabili come indirizzi che non dovrebbero essere fonti dirette di posta elettronica legittima. Sospetto che la maggior parte di questo elenco sarà destinata agli utenti finali residenziali sui servizi di accesso remoto a banda larga o consumer. Questo è solo un euristico: sono sicuro che ci sono blocchi IP statici nel PBL, e probabilmente molti indirizzi IP dinamici che non sono su di esso, ma è vicino il punto che si sta per ottenere senza conoscere ciascuna politica di allocazione del proprietario dell'intervallo IP .

-1

è possibile tramite applet.

È possibile creare un applet Java e ottenere l'IP del computer locale e $ _SERVER [ 'REMOTE_ADDR'] e la matematica entrambi e può identificare se si sta avendo IP statico o dinamico

+0

Penso che stai confondendo gli indirizzi IP dinamici/statici con se il dispositivo client è dietro un router o no ... – Bergius

+0

Mr Bergius Sto suggerendo di recuperare l'ip statico attraverso lo script php e attraverso l'applet java ottenere l'ip del sistema e matematica entrambi ip, se entrambi sono uguali vuol dire che la pagina viene aperta dal sistema ip statico Hai capito? – Ankur

2

Se l'utente attiva la modalità di manutenzione il sistema dovrebbe registrare l'IP dell'utente e da quel punto consentire solo l'accesso IP, fino a quando la modalità di manutenzione non viene disattivata.

Sopra era quello che mi serviva per un sito web. Qui di seguito è quello che ho usato:

<?php 
session_start(); 
if ($_SESSION[last_ip]!==$_SERVER[REMOTE_ADDR]) 
    { 
    $_SESSION[ips] = (!is_numeric($_SESSION[ips])) ? 1 : $_SESSION[ips] + 1; 
    $_SESSION[last_ip] = $_SERVER[REMOTE_ADDR]; 
    } 
if ($_SESSION[ips]===1) { echo "Static IP"; } 
else { echo "Dynamic IP"; } 
?> 

In base alle risposte distaccati (secoli fa, SRY 'bout che) è quasi impossibile per raggiungere questo obiettivo. Per me funziona ... a meno che non ottenga qualcosa.

Problemi correlati