Foros del Web » Programando para Internet » PHP »

como evitar que usuario web ejecute un archivo php

Estas en el tema de como evitar que usuario web ejecute un archivo php en el foro de PHP en Foros del Web. No se si este tema tengo que publicarlo aqui si no es el caso ya me direis. Tengo un archivo php que llamo con cronjob ...
  #1 (permalink)  
Antiguo 24/08/2014, 05:10
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
como evitar que usuario web ejecute un archivo php

No se si este tema tengo que publicarlo aqui si no es el caso ya me direis.
Tengo un archivo php que llamo con cronjob hasta aqui todo bien pero el problema es que no quiero que ningun usuario de la web pueda llamar a ese archivo para que se ejecute las veces que lo llama cron y nada mas.
Como lo puedo solucionar?
saludos.
  #2 (permalink)  
Antiguo 24/08/2014, 05:41
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: como evitar que usuario web ejecute un archivo php

Muy buenas,

Imagino que ese .php lo llamarás en algunas situaciones y quieres que sólo algunos usuarios puedan acceder a él. Suponiendo esto, se me ocurre que:

1. define una constante en tu web que garantice que el flujo de la web es el que quieres y haz una comprobación en cada script. Algo del estilo de
Código PHP:
if (!defined('constante')){
//Mensaje de error
}else{
//Tu código

2. por htaccess puedes meterlo en una carpeta que no permitas y luego simplemente incluirlo en donde lo necesites
__________________
diseño web | Clan Rol
  #3 (permalink)  
Antiguo 24/08/2014, 05:50
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: como evitar que usuario web ejecute un archivo php

en general los cronjob se guardan fuera del proyecto donde nadie tiene acceso
pero el cronjob si por que es un programa del sistema opertivo
entonces, si vos guardas el php en C:/cron.php esta todo bien, solo le indicas la ruta al cron y listo
  #4 (permalink)  
Antiguo 24/08/2014, 05:57
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: como evitar que usuario web ejecute un archivo php

Cita:
Iniciado por Patriarka Ver Mensaje
en general los cronjob se guardan fuera del proyecto donde nadie tiene acceso
pero el cronjob si por que es un programa del sistema opertivo
entonces, si vos guardas el php en C:/cron.php esta todo bien, solo le indicas la ruta al cron y listo
es verdad no habia caido lo guardo fuera del directorio y listo, muchas gracias.
  #5 (permalink)  
Antiguo 24/08/2014, 06:42
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: como evitar que usuario web ejecute un archivo php

Cambie el archivo php que tiene que ejecutar cronJobs y lo puse fuera del directorio raiz, eh comprobado que si el cronjobs es llamado pero no se ejecuta es decir, en el php que llama cronjobs es una actualizacion de la base de datos, una conexion como si lo hicera desde la web, por eso no tiene efecto, que soluciones me podeis dar?
saludos.
  #6 (permalink)  
Antiguo 24/08/2014, 18:10
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: como evitar que usuario web ejecute un archivo php

Rectifico, Patriarka tenia razon solo que no me estaba funciona el cronjobs porque estaba mal programado, gracias.
saludos
  #7 (permalink)  
Antiguo 24/08/2014, 18:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: como evitar que usuario web ejecute un archivo php

tene en cuenta que en el cronjob no estan inicializadas las variables globales como $_SERVER,$_SESSION,$_GET,$_POST ETC ECT

Etiquetas: usuario
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:50.