Foros del Web » Programando para Internet » PHP »

Impedir ejecucion externa

Estas en el tema de Impedir ejecucion externa en el foro de PHP en Foros del Web. Saludos Amigos he conseguido hacer mi busqueda interna de documentos, y gracias a este foro he tomado algunas precauciones para evitar ataques de SQL inyection. ...
  #1 (permalink)  
Antiguo 18/11/2004, 11:59
 
Fecha de Ingreso: noviembre-2004
Mensajes: 50
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación Impedir ejecucion externa

Saludos Amigos he conseguido hacer mi busqueda interna de documentos, y gracias a este foro he tomado algunas precauciones para evitar ataques de SQL inyection.

Pero tengo una duda

si mi codigo php que hace la busqueda esta en esta ruta


mihost.com/codigo.php

y recibe los campos de un formulario que esta en el mismo directorio, pero quisiera que no pueda ser ejecutado desde otro formulario en otro host.

Muchas gracias..


M. Alvarez

Última edición por moisesfran; 18/11/2004 a las 16:22 Razón: correccion
  #2 (permalink)  
Antiguo 18/11/2004, 12:16
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Podrias explicar mejor eso que pretendes, no lo entendí.
  #3 (permalink)  
Antiguo 18/11/2004, 14:04
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
$_SERVER["HTTP_REFERER"] indica desde dónde se esta haciendo la peticion a tu script.

Si esta dirección, no contiene "mihost.com" entonces es que estan accediendo desde fuera.

Última edición por jmaribau; 18/11/2004 a las 14:05
  #4 (permalink)  
Antiguo 18/11/2004, 16:24
 
Fecha de Ingreso: noviembre-2004
Mensajes: 50
Antigüedad: 13 años, 1 mes
Puntos: 0
Cita:
Iniciado por claudiovega
Podrias explicar mejor eso que pretendes, no lo entendí.
Disculpa Claudio, no me di a entender bien, lo que pretendia es que si tengo un consulta que recibe los valores de mi formulario ubicados en mi servidor, esa consulta no pueda recibir los valores de otros formularios externos.

gracias

M. Alvarez
  #5 (permalink)  
Antiguo 18/11/2004, 17:12
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 13 años, 1 mes
Puntos: 0
De acuerdo

Hola M. Alvarez bueno para impedir ejecuciones externas puedes definirle un valor en a http_referer algo asi ..

if ($_SERVER['HTTP_REFERER'] != "http://www.mipagina.com/index.php"){
die ("No puedes acceder desde otro lugar.");
exit;
}


  #6 (permalink)  
Antiguo 18/11/2004, 19:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ojo .. que el HTTP_REFERER .. como cabecera HTTP que envia un "cliente" al "servidor" al conectarse ..puede ser "falseada" o simplemente no entregada por el cliente que se conecta a este.

De hecho .. un script PHP que conecte al tuyo por sockets (fsockopen() y afines ..) podría "engañar" al tuyo diciendo "HTTP_REFERER=vengo de tu sitio tal ...". (hablando en el protocolo HTTP .. )

Algunas conexiones que pasan por cierto tipo de proxys/firewalls no suelen entregar ese dato .. así que podría fallar hasta una real conexión desde un script de tu própio sitio.

-----

Para solventar el problema .. yo usarìa sesiones. Si esa funcionalidad depende o ha de pasar por otra página de nuestro sitio tal que un "index.php" o cierto link desde tal menú de nuestro sitio .. ahí crear una variable de sesión y verificar su existencia (que nos va asegurar que "pasó" por otra página de nuestro sitio).

Un saludo,
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 20:21.