Foros del Web » Programando para Internet » PHP »

Como bloquear el acceso directo a un PHP?

Estas en el tema de Como bloquear el acceso directo a un PHP? en el foro de PHP en Foros del Web. Holas como va! quisiera ver la posibilidad de que no se pueda acceder directo a un .PHP por el motivo de que no quiero que ...
  #1 (permalink)  
Antiguo 18/03/2012, 17:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 5 meses
Puntos: 1
Como bloquear el acceso directo a un PHP?

Holas como va! quisiera ver la posibilidad de que no se pueda acceder directo a un .PHP

por el motivo de que no quiero que puedan injectar o hacer algo con ese php osea pasar parámetros o algo asi... yo utilizo jquery y ajax para hacer la llamada a ese PHP y utilizando parámetros y me devuelve algo... pero yo no quiero que al acceder a ejemplo Localhost/enviar.php pueda tener algún efecto... Que al entrar diga algo como "no puede acceder directo este archivo " o algo así... yo creo que lo vi pero no sabría como hacerlo que pueda acceder desde jquery y el sistema y no desde una URL.


Espero que se entienda! muchas gracias!

salui2
  #2 (permalink)  
Antiguo 18/03/2012, 17:59
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Como bloquear el acceso directo a un PHP?

Puedes setear una constante de ámbito global al inicio de tu aplicación, en tu "punto de acceso", y comprobar en tu script que exista esa constante. Por ejemplo;

Código PHP:
Ver original
  1. if (!defined('MICONSTANTE')) {
  2.       die("acceso restringido");
  3. }
  #3 (permalink)  
Antiguo 18/03/2012, 18:18
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Como bloquear el acceso directo a un PHP?

Cita:
Iniciado por SetheR Ver Mensaje
Puedes setear una constante de ámbito global al inicio de tu aplicación, en tu "punto de acceso", y comprobar en tu script que exista esa constante. Por ejemplo;

Código PHP:
Ver original
  1. if (!defined('MICONSTANTE')) {
  2.       die("acceso restringido");
  3. }
Gracias por responder!

Puedo usar la de mi PATH de mi sistema ? se puede usar calquier constante?? por otro lado.... la constantes es por Cliente o por servidor??? Porque se supone que una variable por ejemplo se define para la persona que lo visualiza ocea para cada cliente y una variable puede contener muchos datos... y se define en el momento que un cliente ingresa a tu web.

pero en el caso de la constante solo se define dentro del servidor?? por esa manera el cliente no la define ?? es por eso que puede funcionar el tema de que cualquier persona que entre y vea la constante la va a ver en 1 valor nullo??

Gracias

Última edición por p4rp4d30; 18/03/2012 a las 19:11
  #4 (permalink)  
Antiguo 18/03/2012, 20:36
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Como bloquear el acceso directo a un PHP?

Cita:
Iniciado por SetheR Ver Mensaje
Puedes setear una constante de ámbito global al inicio de tu aplicación, en tu "punto de acceso", y comprobar en tu script que exista esa constante. Por ejemplo;

Código PHP:
Ver original
  1. if (!defined('MICONSTANTE')) {
  2.       die("acceso restringido");
  3. }
Eso solo serviria si tuvieras un Bootstrap, pero en tu caso creo que no lo haces asi. Lo que podrias hacer es bloquear el acceso al script mediante .htaccess
O la otra es cuando proceses en .php verifiques si se le esta enviando algun dato por $_POST , o la otra es usar sessiones, o la otra es usar un "Ajax detect request".

Código PHP:
Ver original
  1. if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  2.    
  3.         die("Pero que c...o!");
  4. }

En fin te podria enumerar mas opciones... tu eliges.

Exitos.
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 18/03/2012, 22:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Como bloquear el acceso directo a un PHP?

Cita:
Iniciado por NUCKLEAR Ver Mensaje
Eso solo serviria si tuvieras un Bootstrap, pero en tu caso creo que no lo haces asi. Lo que podrias hacer es bloquear el acceso al script mediante .htaccess
O la otra es cuando proceses en .php verifiques si se le esta enviando algun dato por $_POST , o la otra es usar sessiones, o la otra es usar un "Ajax detect request".

Código PHP:
Ver original
  1. if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  2.    
  3.         die("Pero que c...o!");
  4. }

En fin te podria enumerar mas opciones... tu eliges.

Exitos.
Si uso bootstrap... mi sistema esta basdo en MVC.

salu2

Última edición por p4rp4d30; 18/03/2012 a las 22:21

Etiquetas: bloquear, directo
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 16:34.