PHP - Encriptar variable en la URL

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 01/08/2023 20:03:27
Quisiera su opinión y sugerencia con respecto a la función base64_encode(). Decidí encriptar las variables que la aplicación manda por la URL. Es para más protección. Por favor denme una sugerencia.
Gracias
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
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Alejandro (847 intervenciones) el 02/08/2023 00:07:09
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿Alguna vez has participado en un WarGame? Base64 no es ninguna protección.
¿Qué pretendes proteger y porqué usar GET en lugar de POST?
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 02/08/2023 01:34:12
Hola, sí estoy usando POST, pero estoy liado amigo con ese código. Lo que quiero proteger la variable que va por 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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Mauro (1042 intervenciones) el 02/08/2023 10:53:29
Si la variable es tan sensible como requerir una protección extra tal vez te convenga pasarla a través de la sesión, de esa forma el dato nunca llegará al cliente.

Si necesariamente tiene que ir por la URL podrías probar encriptarla con un sistema de clave pública/privada y desencriptar del lado del script que la recibe... me parece un poco mucho pero puede funcionar.
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 02/08/2023 15:51:06
Qué tal mauro. Alejandro me sugiere que encode de php no es tan seguro. La variable es el DNI de la persona que entra a una solicitud para una consulta médica. Es una app de pediatría. Fijate pide la consulta desde un formulario para luego llegar a otro formulario a donde debe llegar encriptada o por sesión como señalas.
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Kathyu (905 intervenciones) el 02/08/2023 16:52:33
Algo no cuadra acá, dices usar POST, pero tienes una variable en la URL. Eso no es posible. Si no puedes exponer bien el problema, nadie podrá ayudarte de la mejor manera.

Por favor lee el post Como formular UNA BUENA PREGUNTA para obtener ayuda más rápido en LWP para que tu pregunta tenga una mayor oportunidad de ser respondida en la comunidad y recuerda Código en Texto y debidamente formateado.
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
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Alejandro (847 intervenciones) el 02/08/2023 17:14:56
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Si que es posible usar GET y POST a la vez, aunque no se porque alguien haría eso.
1
<form action="destino.php?clave=valor" method="POST">

Yo me inclino a que lo indicado sería usar sesiones cómo ya te mencionaron.

También esta el método del campo oculto, que tampoco provee ninguna seguridad.
1
<input type="hidden" value="<?php echo $dni; ?>" />

Por otra parte es bueno saber que se esta consultando, por lo que simplemente puedes mostrar el dato en el formulario con el campo readonly
1
<input type="hidden" value="<?php echo $_POST['dni']; ?>" readonly />
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Kathyu (905 intervenciones) el 02/08/2023 17:46:48
Quizás no supe decirlo bien, porque se quiere tener un dato visible cuando usando POST todo iría más seguro?

Pero igual, siempre hay muchos ejemplos de como realizar lo solicitado.
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 02/08/2023 22:02:53
Bueno me pondré a revisar bien. Gracias por responder. Gracias Alejandro y también a kathyu.
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

Encriptar variable en la URL

Publicado por zendi (51 intervenciones) el 02/08/2023 23:15:11
Bueno te muestro el codigo donde se pide la variable
1
$cedula
este formulario manda la variable al formulario
1
cita.php

en negrita esta la pregunta si va a mandar al form.
1
cita.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<form name="form1" action="" method="post">
<table align="center" class="bordetbl1">
<tr>
<td class="tit1">Sistema Para el Control de Pediatria en Linea</td></tr>
</table>
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
 
$query="SELECT cedula FROM public.pacientes WHERE cedula='$cedula'";
$row = pg_fetch_row($query);
$id = str_pad(trim($row[0]),4,"0",STR_PAD_LEFT);
?>
<table align="center"><tr>
<!--<td class='sr'>Ultimo Nro de Historia:<input type='text' readonly="T" value="<?php echo $id; ?>" name='nrohistoria' size='10' maxlength='10' align='right'class="color1"/></td></tr>-->
</table>
 
<table width="200" align="center" class="bordetbl1">
		<tr>
		  <td class="tit1">Escriba su Cedula:</td>
		  <td><input type="text" name="cedula" id="cedula" size="8"></td>
          <td><input type="submit" name="buscar" value="Buscar" onclick="mensajes('mostrar','alerta')"></td>
          <td><button type="button" VALUE="Salir" ONCLICK="window.location.href='menu1.php'" class="btn btn-primary">Salir</button></td>
		</tr>
</table>
<?php
 
$cedula = $_POST['cedula'];
if($cedula && $_POST['buscar'])
{
$query="SELECT cedula FROM public.pacientes WHERE cedula= $cedula";
$res=@pg_query($connect,$query);
      if(@pg_num_rows($res)>0)
        {
			   ?>
			   <script type='text/javascript'>
			   var agree=confirm("Esta Cedula ya fue REGISTRADA,\Desea Pedir una Cita?");
			   if (!agree)
				   window.location='registracedula.php';
			   else
                window.location= 'citas.php?nro=<?php echo $cedula?>';
			   </script>
			   <?php
        }
		else
		{
			   ?>
			   <script type='text/javascript'>
			   var agree=confirm("La Cédula aún no está Registrada.\nDebe registrarse con la Cédula del Representante\n¿Desea Registrarse Ahora mísmo?");
			   if (agree)
				   window.location='pacientes2.php?nro=<?php echo $cedula?>';
			   else
                   window.location='registracedula.php';
			   </script>
			   <?php
?>
                   <input type="hidden" name="cedula" value="<?php echo $cedula; ?>"/>
 
<table>
		<?php
 
		}
}
		?>
 
  </table>
<br>
<br>
</form>
 
</body>
</html>


y aqui esta el form
1
cita.php
y en negrita esta como se recibe con el metodo post asi como tambien la linea de codigo que imprime en el formulario


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
//   $connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
 
   $conn_string = "host=localhost port=5432 dbname=pediatria user=postgres password=Wrap*/1808";
   $connect = pg_connect($conn_string);
   $especialidad = "SELECT * FROM especialidad ORDER BY descripcion";
   error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
   $nro = $_POST['nro'];
 
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Solicite una Cita</title>
	<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
 
	<!-- Optional theme -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
 
	<!-- Latest compiled and minified JavaScript -->
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
	<link rel="stylesheet" type="text/css" href="estilos/estilos.css">
 
  <meta charset="utf-8">
<!--   <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="bootstrap/css/bootstrap.css">
  <link rel="stylesheet" href="bootstrap/css/bootstrap-responsive.css"> -->
  <link rel="stylesheet" href="estilo.css" type="text/css">
 
<script language="JavaScript" src="calendario.js"></script>
<script language="JavaScript" src="overlib_mini.js"></script>
<script type="text/javascript" language="javascript" src="funcion.js"></script>
</head>
 
<body>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<form action="" method="POST" name="form1">
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=Wrap*/1808");
?>
<h4>
<table align="center"><tr><td class="sr" style="text-decoration:none"></td></tr>
  <table align="center"><tr><td style="text-decoration:none" bgcolor="#fff45f">Modulo para Solicitar una Cita en Linea</td></tr>
  </table>
</table></h4>
 	        <div class="col-lg-10">
 <td><input type="text" name="cedula" align="right" class="form-control" value="<?php echo $cedula;?>" /></td>
			</div>
			<div class="col-lg-10">
             <input type="submit" name="buscar" value="Buscar" class="btn btn-success" >
            </div>
 
<!-- 		  <div class="form-group">
			<div class="col-lg-offset-2 col-lg-10">
			  <button type="submit" class="btn btn-success">Entrar</button>
			</div>
 -->
<?php
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Mauro (1042 intervenciones) el 03/08/2023 14:49:20
Hola zendi:

Gracias por subir el código. Antes de pasar al tecnicismo, aún no termino de comprender la necesidad de pasar el dato en forma encriptada.

Como dicen otros colegas, ¿no te alcanza con enviarlo mediante $_POST? ¿Cuál sería el problema?
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 03/08/2023 16:11:31
Hola mauro disculpa, pero lo estoy pasando por post y aún así se refleja por la URL, que es lo que no quiero porque lo estoy pasando a través de esta línea de código:
1
window.location=citas.php?nro=<?php echo $cedula?>';
la cual hace que la variable se refleje en la url. Habrá otra forma de que en esta parte se respete el post? En realidad si miras en el primer form va el post y para el que recibe va también. Elmproblema radica en esa línea de código.
Bueno gracias mauro. Si puedes ayudarme. Agradezco.
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
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Alejandro (847 intervenciones) el 03/08/2023 19:33:53
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
En el otro post te deje un ejemplo donde se volvía a enviar el mismo formulario al nuevo destino.
Aquí te dejo otro ejemplo donde, con otro formulario, se ve más claro lo que se hace.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method="POST">
	<label>Escriba su Cedula:</label>
	<input type="text" name="cedula" value="<?php echo $_POST['cedula']??''; ?>" />
	<button>Enviar</button>
</form>
 
<?php if( $_POST['cedula']??false ){ ?>
	<!-- Creas un nuevo formulario con el nombre del campo que espera recibir el nuevo destinatario -->
	<form name="cita" action="citas.php" method="POST" >
		<input type="hidden" name="nro" value="<?php echo $_POST['cedula']; ?>" />
	</form>
	<script type='text/javascript'>
		var agree=confirm("Esta Cedula ya fue REGISTRADA,\r\nDesea Pedir una Cita?");
		if (agree){
			// Envías el nuevo formulario.
			document.forms['cita'].submit();
		}else{
			window.location='registracedula.php';
		}
	</script>
<?php } ?>
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 04/08/2023 01:48:20
Ok Alejandro lo voy a probar y te aviso. Gracias.
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Mauro (1042 intervenciones) el 04/08/2023 08:52:21
Claro. El problema aquí es que estás haciendo el envío a través de la URL, es decir por
1
$_GET
en lugar de
1
$_POST

Si quieres hacer el envío vía JavaScript deberías hacer como sugiere Alejandro: manipular el formulario a través del DOM de la página y eventualmente ejecutar el método
1
submit()
en forma manual.

Eso debería reemplazar el código que muestras

1
2
window.location=citas.php?nro=<?php echo $cedula?>';

Por último, creo que lo más conveniente si estás transmitiendo datos sensibles es utilizar HTTPS para encriptar toda la comunicación entre cliente y servidor.

Saludos!
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Zendi (1056 intervenciones) el 03/08/2023 01:00:15
Hola Alejandro disculpa que no te respondí concerniente al warGame. Bueno por lo que veo creo que es un juego de guerra. La verdad no me gustan mucho los juegos, pero este que mencionas parece interesante más los de estrategia. La guerra de los imperios. Voy a ver cómo es este juego. Gracias.
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encriptar variable en la URL

Publicado por Kathyu (905 intervenciones) el 03/08/2023 17:48:47
Y entonces porque hacer otro post para preguntar lo mismo?????????

Zendi, si no puedes usar JS con Fetch, usa PHP normal, cual es el problema??? No te compliques...
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