Articulos de Colaboradores
Codigos Fuente
Compiladores
Documentos y Manuales
Programas y Librerias
Recursos y Articulos
Videotutoriales
Servidores (Aplicaciones)
Controles ActiveX

Analisis SEO
Conocer PageRank
Encriptar JS/HTML
Convertir HTML a JavaScript
Convertir HTML/JS a PHP
Tablas ASCII/HTML
Base Windows API
Directorio de Empresas
Libros de Informatica
Rotador de Banners

ARTICULOS TECNICOS SOBRE PROGRAMAS Y PROGRAMACION
PROGRAMACION Y DISEÑO PARA PROGRAMADORES Y WEBMASTERS


Crear un Contador de Accesos a un Sitio Web - Programacion y Codigos en Perl






Crear un Contador de Accesos a un Sitio Web en Perl
Christian Gustavo Riva

A traves del siguiente codigo veras como puedes hacer muy facilmente un contador que registre el acceso a tu sitio, y que no cuente mas de una vez a un mismo usuario si este presiona Actualizar repetidas veces.
Para implementarlo deberas generar el archivo contador.pl con el codigo listado, copiarlo a tu FTP y asignarle los permisos correspondientes de ejecucion, y luego utiliza el siguiente codigo SSI en tus paginas:
<!--#include file="ruta_del_script/contador.pl"-->

Recuerda que el codigo es para uso libre y su finalidad es introducirte en los conceptos que trata y animarte a que experimentes por tu cuenta.

Codigo:

###################################
# (C) 2001 Christian Gustavo Riva #
# https://www.programasprogramacion.com #
###################################
#!/usr/bin/perl
## Requerido para servidores Unix/Linux unicamente.

use strict;
## Nos obligamos a tener que declarar todas las variables
## antes de utilizarlas. Si bien el codigo es muy breve, nos
## ayuda a no tipear nombre de variables incorrectamente
## y a no crear mas variables de las necesarias.

my $visible = 1;
## Esta variable nos permitira mas adelante mostrar o no el
## resultado del contador al usuario. Si queremos que no se
## visualice el numero de visitas (pero si se cuenten)
## deberiamos darle valor 0 (cero).

my $fuente = "Verdana";
my $tamano = "2";
## Nombre y Tamaño de la fuente con la cual visualizaremos
## en la pagina el resultado del contador.

my $ip = $ENV{"REMOTE_ADDR"};
## Tomamos la direccion IP del cliente desde la variable de
## entorno REMOTE_ADDR.

if(!$ip) { $ip = $ENV{"REMOTE_HOST"}; }
## ¿No hay datos del IP? Entonces tomamos el host del
## cliente desde la variable REMOTE_HOST.

print "Content-type: text/html\n\n";
## Le enviamos al cliente el tipo de datos que le devolvera nuestro
## script. En este caso codigo html.

if( ! -e "contador.dat" ) { open( FP, ">contador.dat" ); close(FP); }
## ¿No existe ningun contador aun? Entonces lo creamos.

if( open( FP, "+<contador.dat" ) )
## Si podemos abrir el archivo CONTADOR.DAT, entonces hacerlo en
## modo lectura(<) y escritura(+).
{
flock( FP, 2 );
## Una vez abierto el archivo lo protegemos para que otra copia del
## script no pueda alterar su contenido mientras lo actualizamos.

my $contador = <FP>;
my $ultimo_ip = <FP>;
## Cargamos las variables $contador y $ultimo_ip con el contenido
## de las dos primeras lineas de nuestro archivo.

if($ultimo_ip !~ /$ip/)
{
## ¿La direccion IP del ultimo usuario es la direccion IP del usuario
## actual? Si no, registramos el acceso y recordamos (grabamos)
## la direccion IP de este usuario. De esta forma evitamos contar
## mas de una vez a un mismo usuario que presione Actualizacion
## repetidas veces en su navegador.

seek( FP, 0, 0 );
print FP ++$contador."\n".$ip;
## Nos posicionamos al inicio del archivo (recuerda que lo abrimos
## para lectura y escritura!) y grabamos el nuevo acceso y la
## direccion IP del usuario actual.

}
close(FP);

if($visible)
{
print "<font face=$fuente size=$tamano><b>$contador</b></font>";
}
## Cerramos el archivo y si le indicamos que muestre el contador al
## usuario, generara el codigo html.

}
 
 





ProgramasProgramacion.com (ex-CGR Software.com)
© 2001-2024 C.G.R. @ Buenos Aires, Republica Argentina

Contacto | Privacidad