Registrar IP y guardarla en un .txt con ASP.NET Leido 14.151 veces

 
  killbill07
Ha recibido:
2 premios
Recién estaba leyendo el tutorial de Broco que dejaba un código para guardar las IP de los visitantes de nuestra web, y me pareció que sería interesante pasarlo a ASP.NET para aquellos que no programan en PHP. Disculpas si le erro a algo, pero hace bastante que no programo en web así que me estoy desempolvando aún. Paso a dejarles el código y explicar más o menos lo que hace.
Vamos empezando:



'El código de abajo es por si el visitante está entrando desde un proxy
ip = request.servervariables("HTTP_X_FORWARDED_FOR")
'El código de abajo es por si el visitante NO está navegando desde un proxy
if ip ="" then
ip = Request.servervariables("REMOTE_ADDR")
end if
variableIp=ip


Lo que hicimos arriba, en definitiva, fue utilizar una condición if para verificar. Si ip no tiene nada, entonces no hay proxy, entonces asignamos otro valor a ip: el pedido de la dirección remota (la ip). Si en cambio hubiera proxy, se hubiera ejecutado lo primero (la ip del proxy). Es muy útil esto, si tenemos algún tontito que se hace el piola y deja comentarios ofensivos en nuestra web y no queremos andar borrando, podemos crear un array almacenando las ips que no queremos que entren y las redireccionamos a una página que diga que tiene el acceso bloqueado. Lindo no? Vean abajo el link, está muy interesante.
Bien, ahora vuelvo a lo mío: ya tenemos las ips, pero las queremos guardar en un .txt para tenerlas siempre con nosotros. Bueno, vamos a usar la clase FileSystemObject. Dejo abajo un link a MSDN porque seguro va a haber más de esa clase que te pueda servir, asi que no seas vago/a, leelo!! Sigamos:



Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\miarchivo.txt", True)


Esto crea dos variables y las setea. La primera crea un objeto y luego se usa el método para crear el archivo de texto. Los argumentos son el path y True, para que sea de lectoescritura (que podamos leerlo y escribirlo). También hay más formas de hacerlo, pero no me interesa explicarlas, si querés podés verla en MSDN, dejo abajo el link. Ahora lo que queda es guardar las ips en el archivo. Hasta ahora sólo lo creamos, nos falta abrirlo, escribirlo, guardarlo y cerrarlo.



'Escribimos una línea que guarda la variable en el archivo de texto.
f1.WriteLine(variableIp)
'Escribimos una línea en blanco.
f1.WriteBlankLines(1)
'Ahora cerramos
f1.Close


Está bueno encerrar eso en una función y que se ejecute para cada persona que entre. Pero eso se los dejo a ustedes. En otro momento modificaré el artículo y le voy a agregar más cosas, pero la realidad es que me quiero ir a ver el programa de CNN de Tecnología y llego tarde xD

Más información
Averiguar la ip del visitante con C#
Capturar ip con ASP.NET
Averiguar ip y bloquear acceso a ciertas ips
FileSystemObject - MSDN
Trabajando con archivos de texto - MSDN

 

 





  Broco
Ha recibido:
2 premios
Genial Mariela
 

 





    ¿Cuantas columnas?     | 2 columnas | 3 columnas | 4 columnas | 5 columnas | 6 columnas |  
    Escribe la dirección web de la imagen:
  Publica tu respuesta  |  Haz Click en el siguiente cuadro para escribir