Foros del Web » Programando para Internet » PHP »

¿determinar si se envio get por url o se escribio manualmente?

Estas en el tema de ¿determinar si se envio get por url o se escribio manualmente? en el foro de PHP en Foros del Web. para que no se de el caso de que un usuario envie la pagina con parametros a otros sin necesidad de dar click por ejemplo ...
  #1 (permalink)  
Antiguo 29/05/2014, 23:08
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
¿determinar si se envio get por url o se escribio manualmente?

para que no se de el caso de que un usuario envie la pagina con parametros a otros sin necesidad de dar click
por ejemplo

index.php?mensaje=error el usuario no existe...

si yo envio este link a un amigo le saldra lo mismo, pero no debe salir que el amigo no intentaba logearse.
como evaluo eso?

de antemano gracias
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #2 (permalink)  
Antiguo 30/05/2014, 02:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

El problema no seria el caso de dar un error que no corresponde si no que seria que haga algo para lo que no tienes permiso.

Esto lo puedes solucionar chequeando la existencia de una session con permisos para lo que se intente hacer apartir de lo que llega por GET, si la sesion no tiene permisos suficientes debes dar un mensaje de error que lo indique.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 30/05/2014, 06:06
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Debes usar sessiones como te indica @quimfv, podrias pensar mil soluciones diferentes como un parametro extra en la URL generado de forma que tenga caducidad y lo puedas chequear contra DB o mediante un tipo de hash sin acceder a la DB....etc incluso enviar otro dato mas pero este ultimo mediante POST (o sea POST+GET) pero cualquier otra solucion es mas costosa o mas enredada
__________________
Salu2!

Última edición por Italico76; 30/05/2014 a las 06:19
  #4 (permalink)  
Antiguo 30/05/2014, 20:58
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Cita:
Iniciado por quimfv Ver Mensaje
El problema no seria el caso de dar un error que no corresponde si no que seria que haga algo para lo que no tienes permiso.

Esto lo puedes solucionar chequeando la existencia de una session con permisos para lo que se intente hacer apartir de lo que llega por GET, si la sesion no tiene permisos suficientes debes dar un mensaje de error que lo indique.
bueno eso si, pues siempre chequeo las sesiones cuando se va a hacer algo que requiere sesion.
aunque en este caso no me gustaria enviar una url
index.php?mensaje=1

que interiormente signifique
"su pago ha sido transferido con exito"
y que un usuario jugueton lo ponga en una pagina web y que cualquier usuario haga click y le salga el mensaje y culpen a mi pagina o algo asi que piensen mal..

gracias
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #5 (permalink)  
Antiguo 02/06/2014, 01:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Es que si chequeas las sesiones siempre NO debe dar ese mensaje, por mucho que entren los parametros correctos por GET, debe redirigir al formulario de logueo.

Detectar si la url se ha escrito a mano o se ha usado un formulario para construirla es muy dificil si es que se puede.

Un usuario jugueton puede construir un formulario que lance tu url con los parametros que quiera por GET, no?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/06/2014 a las 06:04
  #6 (permalink)  
Antiguo 02/06/2014, 05:18
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Cita:
Iniciado por quimfv Ver Mensaje
Un usuario jugueton puede construir un fortmulario que lance tu url con los parametros que quiera por GET, no?
Incluso POST
__________________
Salu2!
  #7 (permalink)  
Antiguo 02/06/2014, 23:18
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Cita:
Iniciado por quimfv Ver Mensaje
Es que si chequeas las sesiones siempre NO debe dar ese mensaje, por mucho que entren los parametros correctos por GET, debe redirigir al formulario de logueo.

Detectar si la url se ha escrito a mano o se ha usado un formulario para construirla es muy dificil si es que se puede.

Un usuario jugueton puede construir un formulario que lance tu url con los parametros que quiera por GET, no?

¿en serio?

¿y como se validaría eso?

tendria que verificar ademas de todo la url proveniente entonces..
o algo mas?
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #8 (permalink)  
Antiguo 03/06/2014, 00:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿determinar si se envio get por url o se escribio manualmente?

Empieza por el principio

http://www.php.net/manual/es/features.sessions.php

olvídate de comprobar la url
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: url
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 18:51.