29 messaggi dal 26 gennaio 2002
Ciao a tutti,
dovrei riuscire a capire se un indirizzo ip è compreso tra due indirizzi ip limite, qualche consiglio? Non mi viene in mente niente
Se faccio le if normalmente non va bene.

95 messaggi dal 18 aprile 2001
Allora lo trasformi in string,
fai il string reverse e lo trasformi in un long
e poi hai due numeri da confrontare con un if:

indirizzo_IP = "111.222.333.444"
indirizzo_IP = Replace(indirizzo_IP, ".", "")
str_indirizzo_IP = string(indirizzo_IP)
rev_indirizzo_IP = StrReverse(str_indirizzo_IP)
lng_indirizzo_IP = CLng(rev_indirizzo_IP)

ora puoi fare la IF con gli indirizzi IP limite trattati come sopra

Ciao by Cobra®
20 messaggi dal 23 febbraio 2001
Oppure fai

arrip1=split(ip1,".")

arrip2=split(ip2,".")

poi prendi considesi il primo e l'ultimo ottetto facendo un cast in long

se ip1= 111.222.333.444 allora

clong(arrip1(lbound(arrip1))) ' sarà 111

clong(arrip1(ubound(arrip1))) 'sarà 444

e

se ip2 = 555.666.777.888 allora

clong(arrip2(lbound(arrip2))) ' sarà 555

clong(arrip2(ubound(arrip2))) ' sarà 888

dopodichè fai i confronti con gi if

839 messaggi dal 13 febbraio 2001
Se formattate la stringa nel formato
###.###.###.### (cioè a blocchi di tre caratteri)
non c'e' bisogno di alcuna conversione di tipo.
L'importante che una stringa come 192.168.0.10 diventi
192.168.000.010 e con questi basta un semplice confronto con >
L'operatore > fa anche un confronto tra stringhe!

if "192.168.000.010" < "192.168.000.011" then ...

Ciao!
Paolo
29 messaggi dal 26 gennaio 2002
intanto ringrazio tutti quanti, ho visto solo adesso le soluzioni proposte; nel frattempo io avevo si trasformato le cifre in questo modo

192.168.0.10 in 192.168.000.010

e poi eliminavo i punti
in questo modo posso fare il confronto tra numerici

839 messaggi dal 13 febbraio 2001
La cosa migliore comunque, dato che l'indirizzo ip è in realta' di un numero a 32 bit, di convertirlo come tale ad esempio con qualcosa del tipo:
arrIPGroups=Split(strIPAddress,".")
Ipnum
for iLoop=0 to 3
IpNum=IpNum*256+arrIpGroups(iLoop)
next

in tal modo:
1 è possibile facilmente anghe usare l'operando XOR per fare confronti bit a bit nel caso si dovesse lavorare con netmask, ecc..
2. è la notazione piu' compatta e sicura.

Ciao!
Paolo
181 messaggi dal 12 dicembre 2001
ciao,
come faccio a sapere in asp l'indirizzo ip dell'utente che sta visitando la pagina del sito ?

grazie

billy

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.