Links aleatorios con CGI
El funcionamiento es simple, hay una base de datos en un archivo de texto con los links y un programa CGI que consulta esta base de datos y selecciona en forma aleatoria uno de los enlaces.
Archivo: aleatorio.cgi
#!/usr/bin/perl
#
###############################################
# Editar #
$RandomLinkFile = "/turuta/cgi-bin/links.txt";
$UseLog = 0; #Usar log 0 = No; 1 = Yes
$RandomLogFile = "/turuta/cgi-bin/log.txt";
# No editar #
###############################################
srand(time);
open(LINKS,"$RandomLinkFile") || &Error("No se puede abrir archivo de links : $RandomLinkFile, Error $!n");
$NbLines = @LinkFile = <LINKS>;
close(LINKS);
$Url = $LinkFile[int rand $NbLines];
if ($UseLog) {
@date = localtime(time); $date[4]++; $date[5] += 1900;
$Time = "$date[4]/$date[3]/$date[5]";
open(LOG,">>$RandomLogFile") || &Error("No se puede escribir log : $RandomLogFile, Error $!n");
print LOG "[$Time] – $ENV{‘REMOTE_HOST’} -> $Urln";
close(LOG);
}
print "Location: $Urlnn";
sub Error {
my($ErrorText) = @_;
print "Content-type: text/htmlnn";
print "Error: ".$ErrorText;
exit;
}
Archivo: links.txt
http://www.sitio1.com
http://www.sitio2.com
http://www.sitio3.com
http://www.sitio4.com
http://www.sitio5.com
Los archivos aleatorio.cgi y links.txt tienen que estar en el mismo directorio dentro de la carpeta cgi-bin.
aleatorio.cgi > ASCII > CHMOD 777
links.txt > ASCII > CHMOD 777
Ejemplo funcional: http://www.elanime.com.ar/cgi-bin/aleatorio.cgi
Hacerlo funcionar: Hacer un vínculo al programa cgi.
Ejemplo: <a href="http://www.tusitio.com/cgi-bin/aleatorio.cgi">Link aleatorio</a>