Foros del Web » Programando para Internet » PHP »

Ocultar los Datos de variables al enviar por una URL

Estas en el tema de Ocultar los Datos de variables al enviar por una URL en el foro de PHP en Foros del Web. Estimados: Primero que todo soy nuevo en este foro y saludo a toda la comunidad. No soy un experto en este mundo asi que aqui ...
  #1 (permalink)  
Antiguo 19/10/2012, 09:16
Avatar de SebaDeath  
Fecha de Ingreso: octubre-2012
Ubicación: santiasco
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 1
Pregunta Ocultar los Datos de variables al enviar por una URL

Estimados:

Primero que todo soy nuevo en este foro y saludo a toda la comunidad.

No soy un experto en este mundo asi que aqui va mi primera consulta (de mucha que seguramente hare en el tiempo)

Tengo la siguiente linea la cual es un link que envia datos a una pagina X

Código HTML:
Ver original
  1. echo "<a onclick=\"return confirm('Esta Seguro?');\" href=index.php?action=borra&id=".$id['Id'].">Borrar</a>";

Primero: ¿Como enviar los datos de los campos action y id pero de manera oculta ? Mas bien que el navegador no muestre el contenido de los campos al pasar el mouse por el link o en barra de direccion del navegador

Y segundo....No permitir al usuario que digite en el navegador la págna mas los campos, ya que al hacerlo, en el caso de la web que desarrollo, borra un registro.

Por ejemplo al escribir en el navegador lo siguiente: http://loquesea/index.php?action=borra&id=01

esto borraria un registro sin tener que hacer click en el link que puse en la pagina..

Saludos
  #2 (permalink)  
Antiguo 19/10/2012, 10:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ocultar los Datos de variables al enviar por una URL

por GET TODO se muestra, tendrías que usar POST

además existen unas reglas que todo desarrollador conoce y debe aplicar:

los GET son para consultar

los POST son para creación, modificación o eliminado de registros
(sin excepción )

potr lo que en todo CRUD se aplica:

C -> post
R -> get
U -> post
D -> post

espero que quede claro.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 19/10/2012, 10:36
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ocultar los Datos de variables al enviar por una URL

Por post no está "a simple vista", pero tampoco está oculto

Vamos, un poco de "view source", algo de maña con cURL, y estamos en las mismas...



Necesitarías tener claro qué puede, y qué no puede hacer un usuario, y para una accion (ejemplo: borrar), comprar si ese usuario tiene acceso, y si puede borrar. En caso afirmativo, procedes al borrado, si es negativo, q te envie un aviso (o no, a eleccion) y le muestras un error...

Eso debería ser básico ;)

PD: Yo aqui discrepo con @maycolalvarez.... yo uso get / post para lo q haga falta, si no, lo correcto seria usar PUT, DELETE, GET, y POST xDD
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 19/10/2012, 13:55
Avatar de SebaDeath  
Fecha de Ingreso: octubre-2012
Ubicación: santiasco
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Ocultar los Datos de variables al enviar por una URL

Vale por los consejos....aca los profes de esta Unv dejan mucho q desear.....

en fin..


pero me quedo claro lo quie quieren decir......ahora este es unos de los ultmos trabajos que tengo q presentar y estoy haciendo re 100 el esqueleto de una serie de pasos que tengo que hacer....

depueste tengo q agregar sesiones al mantenedor..asi en parte tendria solucionado sobre un usuario que es lo que puede hacer.....

pero no encuentro que sea bueno que poniendo index.php?cod=01....este usuario con permisos o sin el, le permita hacer una accion

Lo ideal es que siempre lo haga por el link que le cree para eso

ojala exista alguna "maña" para poder evistarlo


por el tema de ocultar las variables, ya lo habia hecho con un form con metodo post....al menos con eso se que no se muestran los datos en el navegador.....


pero el que si se muestra son las variables cuando las envio por intermeido del link...osea sin formulario

existira otro metodo para que esto no suceda
  #5 (permalink)  
Antiguo 19/10/2012, 15:16
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Ocultar los Datos de variables al enviar por una URL

Podes utilizar URL AMIGABLE para minimizar un poco (no del todo) los posibles ataques, de todas formas yo como programador siempre soy muy estricto cuando verifico las acciones a realizar...

No basta con recoger el valor del parámetro url y realizar la acción, siempre debes verificar que el usuario tenga permiso para realizarla, que al realizarla los datos enviados sean correctos.

esto para mi no es una buena practica:

Código PHP:
Ver original
  1. <?php
  2. if($_GET['accion'] == 01){
  3. //haga cosas
  4. }
  5. ?>

Para mi como mínimo debería hacerse esto (repito "como mínimo"):
Código PHP:
Ver original
  1. <?php
  2. if($_GET['accion'] == 01 && $_SESSION['acces'] == TRUE && !empty($_GET['accion']) && $_SESSION['access_type'] == 'admin'){
  3. //haga cosas
  4. }
  5. ?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #6 (permalink)  
Antiguo 19/10/2012, 16:20
Avatar de SebaDeath  
Fecha de Ingreso: octubre-2012
Ubicación: santiasco
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Ocultar los Datos de variables al enviar por una URL

Cita:
Iniciado por jotaincubus Ver Mensaje
Podes utilizar URL AMIGABLE para minimizar un poco (no del todo) los posibles ataques, de todas formas yo como programador siempre soy muy estricto cuando verifico las acciones a realizar...

No basta con recoger el valor del parámetro url y realizar la acción, siempre debes verificar que el usuario tenga permiso para realizarla, que al realizarla los datos enviados sean correctos.

esto para mi no es una buena practica:

Código PHP:
Ver original
  1. <?php
  2. if($_GET['accion'] == 01){
  3. //haga cosas
  4. }
  5. ?>

Para mi como mínimo debería hacerse esto (repito "como mínimo"):
Código PHP:
Ver original
  1. <?php
  2. if($_GET['accion'] == 01 && $_SESSION['acces'] == TRUE && !empty($_GET['accion']) && $_SESSION['access_type'] == 'admin'){
  3. //haga cosas
  4. }
  5. ?>
buena maestro.......... quedo muy claro.....vale a todos por los concejos
  #7 (permalink)  
Antiguo 19/10/2012, 21:07
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Ocultar los Datos de variables al enviar por una URL

Todo depende. Si vas a borrar cosas y pones el id ahí a la vista en la url te van a hacer un desastre, pero yo por ejemplo borro con un link que envia por get dentro de una carpeta protegida (con htpasswd) y no le veo peligro porque solo el admin va a acceder a esa parte...

Todo depende del contexto.
  #8 (permalink)  
Antiguo 20/10/2012, 11:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ocultar los Datos de variables al enviar por una URL

@Eleazan entiendo tu punto, pero hay razones adicionales de por qué se debe usar cada método:

GET cachea la respuesta, por lo que no se recomienda al editar o borrar, ya que el navegador puede mostrar el contenido en caché, sin la advertencia de contenido caducado que es usual en el método POST

Con respecto a los métodos PUT y Delete, bueno prácticamente se dejó su uso, al fin y al cabo GET y POST cubren la misma necesidad, es un ejemplo de cómo se evoluciona en el desarrollo hacia lo simple, irónicamente en HTML 5 la tendencia se revierte hacia lo semántico, donde sí es necesario un conjunto de etiquetas que representen una funcionalidad y no precisamente una forma de mostrarse, si nos damos cuenta con DIV y SPAN lo podemos hacer todo, pero para un spider carecen de significado, así entra en juego la semántica en HTML 5

Saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: registro, url, variables, usuarios
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 11:30.