Foros del Web » Programando para Internet » PHP »

como pasar variables encriptadas por la url ?

Estas en el tema de como pasar variables encriptadas por la url ? en el foro de PHP en Foros del Web. hola a todos, tengo el sgte codigo en un tpl: Código PHP: < a h ref =../ Materias / paralelos . php ? idparalelo ={ $RS8 [ ...
  #1 (permalink)  
Antiguo 04/10/2006, 16:38
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
como pasar variables encriptadas por la url ?

hola a todos,

tengo el sgte codigo en un tpl:
Código PHP:
<a h ref=../Materias/paralelos.php?idparalelo={$RS8[i].idparalelo}&idmateria={$RS8[i].idmateria}&idprofesor={$idprofesor
cuando se hace click en el link, el resultado seria lo sgte donde se pone la url:
Código PHP:
localhost/proyecto/Materias/paralelos.php?idparalelo=1A&idmateria=2&idprofesor=
ahora si se cambia la idmateria por 3 en vez de 2 y se recarga la pagina se accede a la materia idmateria=3 a la cual no deberia tener acceso, como hago para que el usuario no pueda cambiar los datos que se pasan o si los cambia que le salga un error, he pensado en la encriptacion, pasar variables en forma invisible, no se si eso existe el objetivo es que el usuario, en este caso el profesor, solo pueda acceder a las materias que le han sido asignadas y de ninguna manera pueda acceder a otras.

he visto que se utilizan urlencode pero yo utilzo el smarty en los templates y no he logrado encontrar una solucion,

gracias por adelantado,

saludos.
  #2 (permalink)  
Antiguo 04/10/2006, 17:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
he visto que se utilizan urlencode pero yo utilzo el smarty en los templates y no he logrado encontrar una solucion,
urlencode() sólo "codifica" un URL al formato standard que define las normas del CGI (Conmun Gateway interface). No "encripta nada", sólo se usa para evitar problemas con caracteres como "ñ" .. o vocales acentuadas, espacios .. etc.

Por el problema principal, deberías gestionar "usuarios" en tu sistema bajo uso de sesiones. De esta forma (por lo menos con el uso de sesiones) ya identificaras a tu usuario por ejemplo si ha de seguir alguna secuencia en su flujo de navegación: ejemplo .. que pase por "idmateria" 1 antes de llegar al 2 .. etc. O si se trata de "privilegios" que cierto usuario no vé tales "idmateria" .. también lo limitas ahí..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/10/2006, 20:32
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
estoy un poco confundido,

tratare de explicare mejor, los usuarios realizan un login, aqui averiguo de que profesor se trata, es decir cual es su idprofesor, de acuerdo a eso hago una consulta y listo las materias a las cuales tiene acceso, ahora él elige a cual materia quiere ir mediante un link asociado a esa materia, que es el link que coloque al comenzar el post, como a la pagina que voy a ir necesito saber que idmateria ha elegido paso la idmateria por la url, pero como dije el puede cambiar la idmateria y acceder a otra.
no existe una manera de pasar variables mediante url sin que se vea las variables? algo como los hidden de los formularios, he visto que en algunas paginas navegas por todo y casi la url no varia, o de alguna forma hacer que las variables no cambien o encriptarlas.

las sesiones es un tema nuevo para mi y con smarty la cosa se complica un poco, por eso queria ver si no existe una solucion mas simple,

gracias por adelantado,
saludos.
  #4 (permalink)  
Antiguo 04/10/2006, 20:39
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Creo quelo mejor es que envíes el id de la materio como POST desde un fomulario, esto es, en lugar de mostrar un vínculo de tecto por cada materia, muestra un:

<form name="form1" method="post" action="ver_materia.php">
<input name="id_materia" type="hidden" id="id_materia">
<input type="submit" name="Submit" value="Ver Materia">
</form>

Obviamente tienes que recibir el ID de lamaterio como $_POST, de esta forma no hay posibilidad de que puedan modoficar otras materias editando el URL.


Espero haberte ayudado.

Saludos.
  #5 (permalink)  
Antiguo 06/10/2006, 08:03
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
Gracias compañero, me sirvio de mucho,

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:40.