Foros del Web » Programando para Internet » PHP »

Proteger scripts en php de cronjobs

Estas en el tema de Proteger scripts en php de cronjobs en el foro de PHP en Foros del Web. Holap!! No había apartado de presentaciones así que me estreno con esta consulta :). Espero también poder ser de ayuda en los post que vayáis ...
  #1 (permalink)  
Antiguo 03/02/2016, 05:14
 
Fecha de Ingreso: febrero-2016
Mensajes: 9
Antigüedad: 5 años, 9 meses
Puntos: 0
Proteger scripts en php de cronjobs

Holap!! No había apartado de presentaciones así que me estreno con esta consulta :). Espero también poder ser de ayuda en los post que vayáis publicando.

El tema es que he creado en mi hosting unos archivos con códigos en php y cronjobs para que se ejecuten con una determinada frecuencia. El problema es que las urls de esos archivos son públicos y ya me ha pasado que alguien visitando la url ha hecho que se ejecutasen esos códigos cuando no tenían que ejecutarse. Mi consulta es ¿cómo puedo hacer para que esos códigos sólo puedan ejecutarse por el cronjob, o bien cómo podría hacer para "ocultarlos" y que no se ejecuten si alguien visita esa url?

Gracias de antemano y saludos.
  #2 (permalink)  
Antiguo 04/02/2016, 02:46
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 8 años, 5 meses
Puntos: 25
Respuesta: Proteger scripts en php de cronjobs

Cita:
Iniciado por juanmedina Ver Mensaje
Holap!! No había apartado de presentaciones así que me estreno con esta consulta :). Espero también poder ser de ayuda en los post que vayáis publicando.

El tema es que he creado en mi hosting unos archivos con códigos en php y cronjobs para que se ejecuten con una determinada frecuencia. El problema es que las urls de esos archivos son públicos y ya me ha pasado que alguien visitando la url ha hecho que se ejecutasen esos códigos cuando no tenían que ejecutarse. Mi consulta es ¿cómo puedo hacer para que esos códigos sólo puedan ejecutarse por el cronjob, o bien cómo podría hacer para "ocultarlos" y que no se ejecuten si alguien visita esa url?

Gracias de antemano y saludos.
Hay muchas formas, pero tal vez la más útil para ti seria usando un archivo .htaccess en la carpeta de dichos scripts php, deniegas el acceso a todos menos a las conexiones locales.
Código Apache:
Ver original
  1. order allow,deny
  2. allow from 127.0.0.1
  3. deny from all
El codigo lo saqué de aquí:
http://stackoverflow.com/questions/2...ocalhost-xampp

Eso sí, en el cronjob, las direcciones deben apuntar de forma local, y no de forma externa. Es decir, por ejemplo: http://127.0.0.1/cronscripts/cron1.php . Aunque depende de como esté configurado el archivo hosts del hosting.

Otra idea, si tienes acceso a consola, puedes ejecutar tus scripts php por linea de comandos, teniendo almacenados los scripts en una carpeta externa a la de apache, eso sí, la programación por consola es un tanto diferente a la ejecutada para la web. Pero también sería viable dependiendo de lo que quieras hacer. Aunque obviamente, necesitas acceso por consola, y los hosting no te suelen dar esos privilegios, otra cosa sería que tuvieras un servidor dedicado donde tienes total acceso.

Un saludo.
  #3 (permalink)  
Antiguo 05/02/2016, 09:07
 
Fecha de Ingreso: febrero-2016
Mensajes: 9
Antigüedad: 5 años, 9 meses
Puntos: 0
Respuesta: Proteger scripts en php de cronjobs

Muchas gracias! Lo he probado autorizando únicamente la ip del servidor mediante el htaccess como dices y funciona! Así que problema resuelto.

Muchas gracias por tu ayuda, un saludo.

Etiquetas: Ninguno
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 00:05.