Foros del Web » Programando para Internet » PHP »

Restringir acceso a archivos PHP y cuestión de seguridad

Estas en el tema de Restringir acceso a archivos PHP y cuestión de seguridad en el foro de PHP en Foros del Web. Hola, estoy restringiendo el acceso a mis archivos PHP para que se entre a ellos sólo si se ha iniciado sesión, ejemplo: Código PHP: <?  ...
  #1 (permalink)  
Antiguo 15/01/2009, 10:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Restringir acceso a archivos PHP y cuestión de seguridad

Hola, estoy restringiendo el acceso a mis archivos PHP para que se entre a ellos sólo si se ha iniciado sesión, ejemplo:

Código PHP:
<? 
    session_start
();
    if(isset(
$_SESSION["User"])) {
        
header("location:user.php"); /* Si ha iniciado la sesión, vamos a user.php */
    
} else
        
header("location:inicio.html"); /* Si no está iniciada la sesión, vamos a inicio.html */
?>
también estoy restringiendo el acceso a otros archivos PHP en los que no depende que se haya iniciado sesión o no sino que depende de si hemos recibido valores por el método POST, ejemplo:

Código PHP:
<? 
    
if ($_POST['User']) 
        
// Código protegido
    
else
        
header("location:inicio.html"); // Redirecciono a la página principal
?>
El caso es que tengo archivos PHP en los que no se cómo restringir su acceso si no es mediante sesiones, son aquellos que reciben valores por el método GET, me he dado cuenta de que poniendo los valores a mano en la barra de direcciones también se reciben los valores y pienso que esto puede ser un problema si el usuario sabe el nombre de las variables que reciben esos valores.

En este caso creo que la única opción para restringir el acceso a estos archivos es mediante sesiones, ¿me equivoco?

Otra duda, he visto que Mozilla Firefox tiene una opción que es Ver --> Código fuente de la página, la he probado y veo que se muestra el código HTML pero no el código en PHP.

¿Nos pueden ver el código fuente PHP?

Saludos.
  #2 (permalink)  
Antiguo 15/01/2009, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

A primera pregunta.

Lo mejor es validar con sesiones, los valores por GET solo dejalos para el caso que necesites procesar algo, ya que como bien dices los puedes manipular solamente cambiando la dirección.

A tu segunda pregunta, no es posible ver el codigo fuente PHP, esto es porque PHP se procesa en el servidor y no en el cliente.

Saludos
  #3 (permalink)  
Antiguo 15/01/2009, 10:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Cita:
Iniciado por GatorV Ver Mensaje
A primera pregunta.

Lo mejor es validar con sesiones, los valores por GET solo dejalos para el caso que necesites procesar algo, ya que como bien dices los puedes manipular solamente cambiando la dirección.
Aun así pienso que por ahí se puede colar un hack.

Cita:
Iniciado por GatorV Ver Mensaje
A tu segunda pregunta, no es posible ver el codigo fuente PHP, esto es porque PHP se procesa en el servidor y no en el cliente.
Me lo suponía pero no estaba seguro.

Saludos y gracias.
  #4 (permalink)  
Antiguo 15/01/2009, 10:43
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Cita:
El caso es que tengo archivos PHP en los que no se cómo restringir su acceso, son aquellos que reciben valores por el método GET, me he dado cuenta de que poniendo los valores a mano en la barra de direcciones también se reciben los valores y pienso que esto puede ser un problema.

En este caso creo que la única opción para restringir el acceso a estos archivos es mediante sesiones, ¿me equivoco?
Lo ideal para restringir el acceso es usar SESSIONES o COOKIES, ya que con POST los datos solo se mantienen hasta que cambien de pagina, despues de eso se borran. Y con GET, pues, es por URL y esto presenta mucho riesgo.

Cita:
Otra duda, he visto que Mozilla Firefox tiene una opción que es Ver --> Código fuente de la página, la he probado y veo que se muestra el código HTML pero no el código en PHP.

¿Nos pueden ver el código fuente PHP?
No, PHP es un lenguaje interpretado. Cuando tu haces una peticion a una pagina PHP, esta pasa por el interprete de PHP, el cual "lee" el codigo e imprime HTML puro. Recuerda que PHP es un Preprocesador de Hipertexto nada mas.
  #5 (permalink)  
Antiguo 15/01/2009, 10:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

¿Entonces cuál es el código que se muestra?

¿Todo el Html que tengamos?

Saludos.
  #6 (permalink)  
Antiguo 15/01/2009, 10:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Asi es el codigo HTML, Javascript, CSS, cosas que el explorador necesita para interpretar y dibujar la pagina.

Por supuesto que se puede colar un "hack" por ahi, por eso como regla NUNCA confies de los datos que vienen desde el usuario, siempre valida y limpia todas las cadenas que vengan desde el explorador.

Saludos
  #7 (permalink)  
Antiguo 15/01/2009, 11:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Lo tendré en cuenta.
  #8 (permalink)  
Antiguo 15/01/2009, 17:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Los archivos PHP que no procesan nada, como por ejemplo un config.php típico:

Código PHP:
<? 
    $server 
"localhost"/* Nuestro server mysql */
    
$database "pruebas"/* Nuestra base de datos */
    
$dbpass "foo"/*Nuestro password mysql */
    
$dbuser "bar"/* Nuestro user mysql */  
?>
o librerías JavaScript, o librerías PHP. ¿Es necesario restringir su acceso de algún modo o no hace falta?

Saludos.
  #9 (permalink)  
Antiguo 15/01/2009, 21:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

Lo recomendable es ponerlas fuera del WebRoot para que no sean accesibles por el explorador y solo incluirlas desde los archivos que los necesiten.

Saludos
  #10 (permalink)  
Antiguo 16/01/2009, 08:34
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Restringir acceso a archivos PHP y cuestión de seguridad

No había caído en eso, muchas gracias.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:44.