Foros del Web » Programando para Internet » PHP »

Maestros, esto funcionaria ?

Estas en el tema de Maestros, esto funcionaria ? en el foro de PHP en Foros del Web. Buenas =) Esta vez sere un poquito breve porque ya me dio sueño Esto funcionaria? En la barra www.yo.com/idx.php?variable= "; $ejemplo = select raza from ...
  #1 (permalink)  
Antiguo 10/06/2003, 23:18
 
Fecha de Ingreso: mayo-2003
Mensajes: 43
Antigüedad: 20 años, 11 meses
Puntos: 0
Maestros, esto funcionaria ?

Buenas =)

Esta vez sere un poquito breve porque ya me dio sueño

Esto funcionaria?

En la barra
www.yo.com/idx.php?variable="; $ejemplo = select raza from mascotas";

Y en idx.php
Código PHP:
$ejemplo "select nombres from mascotas where especie = "perro" $variable"
Lo que quiero es que $variable tome el valor:

"; $ejemplo = select raza from mascotas";

(asi como esta, con comillas y todo)

Para olvidar la consulta anterior y ejecutar la que se le indica con $variable.

Y si no funciona como tendría que hacer? ?

Gracias por leer otra de mis dudas. Saludos.
  #2 (permalink)  
Antiguo 11/06/2003, 02:47
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Funcionaria si pasaras la variable en formato URL. Revisa el manual de PHP para ver como funcionan las funciones URLencode y similares (no recuerdo los nombres)
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 11/06/2003, 09:06
 
Fecha de Ingreso: junio-2003
Mensajes: 11
Antigüedad: 20 años, 10 meses
Puntos: 0
Yo ando buscando lo mismo ya me lei la info de php.net sobre urlencode() pero no lo entiendo. No quiero cambiar nada (en este caso) en idx.php si no hacerlo desde la barra.

La pregunta del millon es ¿Se puede?

Gracias y hasta pronto
  #4 (permalink)  
Antiguo 11/06/2003, 11:26
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
quieres pasar una consulta completa por el url?

Y q tal si la cambio y te pongo delete from tabla?

A ver aclaramelo por que no me lo creo
  #5 (permalink)  
Antiguo 11/06/2003, 13:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Como ya te han dicho es muuuyyyyy peligroso fiarse de lo que llega por URL. Podrias hacerlo de tal forma que comprobaras que la consulta que te llega no es peligrosa. Ademas, si lo unico que quieres es pasar una consulta, yo no pasaria el ; $ejemplo = , sino solo el texto de la consulta (y si solo quieres hacer consultas de select, tampoco pasaria select). Seria algo asi:
Código PHP:
// hacemos el link
$consulta="select * from tabla";
echo 
'consulta.php?consulta='.urlencode($consulta);

// en consulta.php
$ejemplo "select nombres from mascotas where especie = 'perro'";
if (isset(
$_GET['consulta']) {
// aqui podemos validar el formato de la consulta
// si es valida, sustituimos la anterior
$ejemplo=$_GET['consulta'];

En fin, esto me parece mas seguro.

Y para finalizar, si quieres intentar tu insegura idea inicial, mira en el manual la funcion eval().

Y DotNetDeveloper, una utilidad seria para tener un gestor de base de datos estilo phpMyAdmin, pero en vez de por formularios, por URL. Se podria considerar seguro SI se restringe la ejecucion de la pagina.

Saludos.

PD: Niños, no realicen estas acciones en sus casas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 11/06/2003 a las 13:58
  #6 (permalink)  
Antiguo 11/06/2003, 14:04
 
Fecha de Ingreso: junio-2003
Mensajes: 11
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola

El caso mio es que un amigo programo mal su web y puedo cambiarle [tomando el ejemplo de TeQuieroAndrea] la variable $variable

Tambien tomo el idx.php como si fuese la página de mi amigo.

Ahora si pusiera en la barra de direcciones: www.yo.com/idx.php?variable="; $ejemplo = select raza from mascotas";

Se alteraria la consulta a la base de datos (¿?) o es que el mayor peligro en un error de programacion de este tipo es alterar la condicion "where"
  #7 (permalink)  
Antiguo 11/06/2003, 15:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. OliverBT

Imagina:

www.yo.com/idx.php?variable="; $ejemplo = DELETE FROM mascotas";

Cómo no evalues la expresión SQL que te llega por el URL en tu $ejemplo y mires que no exista ninguna sentencia SQL típo DELETE, DROP .. etc .. El ejemplo que puse puede ser "catastrofico" .. Haz la prueba y veras xDDDD.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 01:28.