En teoría, si yo quiero hacer una cookie que dure una hora (creo que) tendría que hacer lo siguiente:
Using perl Syntax Highlighting
- use CGI qw(:standard);
- use CGI::Cookie;
- my $c = new CGI::Cookie(-name => 'galletita',
- -value => "$usuario", # ¿esto se puede hacer?
- -expires => '+1H',
- -domain => '.midominio.com',
- -path => '/cgi-bin', # para usar cgi-bin
- -secure => 0, # Ya que no uso SSL
- );
- # Esto me imagino que es para poner la cookie en la cabecera del html (corrígeme si me equivoco)
- print header(-cookie=>[$cookie1]);
- # Cookies dentro del alcance
- %cookies = fetch CGI::Cookie;
- $id = $cookies{'ID'}->value;
- # Crear las cookies devueltas de una fuente externa
- %cookies = parse CGI::Cookie($ENV{COOKIE});
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Entonces, según esta documentación de perldoc la creación de la cookie, sencillísima. Simplemente tendría que ponerla dentro del chequeo de usuario/contraseña justo antes de abrir el html o cgi que quiera abrir (creo). Pero lo que no sé muy bien cómo hacer uso luego de la cookie mandada, porque por ejemplo la cookie que mandaría (si lo de value=>"$usuario" se puede hacer) su id sería $usuario, que supongamos que $usuario='Pepito'.
Según:
Using perl Syntax Highlighting
%cookies = fetch CGI::Cookie;
$id = $cookies{'ID'}->value;
$id = $cookies{'ID'}->value;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Obtendríamos la variable $id con el valor Pepito, y luego en teoría poniendo ese código en cualquier cgi supuestamente (según lo que yo he entendido) sabríamos al momento si el usuario se ha logueado dentro de la última hora o no.
Si no me he equivocado en ninguna de mis suposiciones la cosa sería muy sencilla si trabajamos con programas CGI, y si todo lo que he dicho fuera cierto (que seguro que no) después vendría la gracia de chequear la cookie directamente desde html, que eso ya lo miraré después de que me corrijas o corrobores lo dicho, y si no encontrara nada ya abriría un hilo aparte en el foro correspondiente de HTML (aunque espero no tener que hacerlo).
Agradezco cualquier respuesta de cualquier usuario.
Muchas gracias de antemano. (Y si alguien conoce de algún sitio con documentación de Perl en español ¡lo agradecería enormemente! porque hasta la fecha no he encontrado nada serio por Internet...)
Perl forever.