CGI - proteccion de cgi

 
Vista:

proteccion de cgi

Publicado por sylvia (1 intervención) el 19/09/2001 01:12:25
Estoy probando un cgi que me permite tener un grupo de "Socios".sucede que al entrar a su cuenta especifica queda grabada en el cache del navegador toda la direccion web del cgi ,con username y password ,de la forma:
http://www.miservidor.com/cgi-bin/socios?user=jperez&pass=589ped

¿como puedo evitar que en la direccion web , no aparezca los ultimos datos ,despues del signo de interrogación.?

He intentado con colocar esto,justo despues de la cabecera de la pagina html:

Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: DD. Month YYYY HH:MM:SS GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache

..pero no ha funcionado.

esperando que alguien me pueda orientar
saludos
SYLVIA :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Evitar que los datos aparezcan en la URL

Publicado por Alejandro (140 intervenciones) el 23/08/2023 00:48:26
Para evitar que los datos de usuario y contraseña aparezcan en la URL después del signo de interrogación (`?`), lo mejor es utilizar métodos de envío de datos más seguros, como el método POST en lugar del método GET. Aquí tienes una solución utilizando el método POST:

HTML y CGI:

1. Modifica tu formulario HTML para que utilice el método POST en lugar del método GET para enviar los datos de usuario y contraseña al script CGI.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
    <title>Iniciar sesión</title>
</head>
<body>
    <form action="cgi-bin/socios" method="post">
        <label for="user">Usuario:</label>
        <input type="text" id="user" name="user"><br>
 
        <label for="pass">Contraseña:</label>
        <input type="password" id="pass" name="pass"><br>
 
        <input type="submit" value="Iniciar sesión">
    </form>
</body>
</html>

2. En tu script CGI, asegúrate de leer los datos de usuario y contraseña utilizando el método POST en lugar de GET.

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl
use strict;
use warnings;
 
print "Content-Type: text/html\n\n";
 
my $user = $ENV{'QUERY_STRING'};
my $pass = $ENV{'QUERY_STRING'};
 
# Procesa los datos aquí

Importante: Ten en cuenta que este es solo un ejemplo simplificado para mostrarte cómo cambiar el método de envío de datos a POST en lugar de GET. En un entorno real, debes considerar la seguridad de las contraseñas y la protección contra ataques de seguridad, como ataques de inyección SQL, y almacenar las contraseñas de manera segura utilizando técnicas de almacenamiento con hash y salting.

Además, la configuración del servidor también puede afectar la forma en que los datos se manejan y se muestran en la URL. Si el servidor está configurado para redirigir automáticamente las solicitudes GET a POST, esto también podría ayudar a ocultar los datos de la URL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar