Foros del Web » Programando para Internet » PHP »

Sobre includes

Estas en el tema de Sobre includes en el foro de PHP en Foros del Web. Buenas, Resulta que en el sistema de administracion que estoy haciendo para mi web... utilizo includes segun lo que se quiera administrar, entonces... habria algun ...
  #1 (permalink)  
Antiguo 13/03/2005, 18:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 12 años, 8 meses
Puntos: 0
Sobre includes

Buenas,

Resulta que en el sistema de administracion que estoy haciendo para mi web... utilizo includes segun lo que se quiera administrar, entonces... habria algun problema de seguridad al acceder directamente a los archivos a incluir?

Por ejemplo:

yo tengo el archivo admin.php

y quiero administrar noticias de la web, entonces el enlace es admin.php?admin=noticias

entonces en admin.php se incluyen noticias.php que esta en la carpeta /admin/

entonces si algun usuario entrara directamente a noticias.php?

lo que se me ocurre es comprobar en todas las paginas que quiera incluir si estan definidas las variables de sesion que pongo ($_SESSION['usuario'], $_SESSION['pass'] y $_SESSION['nivel'])... con esto seria suficiente?

Saludos y gracias
  #2 (permalink)  
Antiguo 13/03/2005, 18:53
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 13 años, 10 meses
Puntos: 1
entonces entonces te das cuenta de que no se entiende nada de lo que explicas!
Por favor, intentar redactar con un minimo de sentido y coherencia. No se pide que describáis el problema en verso de arte Mayor con rima asonante, pero tratar de que sea agradable de leer. Por lo contrario o no se entendera una mierda o directamente se te quitan las ganas de responder.
Un saludo!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #3 (permalink)  
Antiguo 13/03/2005, 19:06
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
No afirmo lo mismo con este mensaje (Será que he leido peores:P). Pero es verdad man, media pilas a todos.

Con el tema de tu problema, hace un archivo de seguridad, que valide lo que quieras.
Despues, usa un require_once en vez de un include (si no sabes la diferencia, y el ingles no es lo tuyo, php.net;)) en todos los archivos que creas necesarios (expeto el de seguridad:P).

Salute!
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 13/03/2005, 19:54
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 12 años, 8 meses
Puntos: 0
renton qué es lo que no entiendes?

nicolaspar eso tenia pensado, comprobar las variables de las sesiones, entonces con eso seria suficiente, no?

Saludos y gracias por contestar
  #5 (permalink)  
Antiguo 13/03/2005, 20:03
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Si, con eso es suficiente (depende las validaciones que hagas, y el nivel de seguridad que quieras implementar), pero usa require_once, no uses ni include, ni require....
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 14/03/2005, 02:22
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 12 años, 8 meses
Puntos: 0
si si, uso require_once.

En cuanto al nivel de seguridad... todo lo posible

Si me dais mas ideas para poder tener mas seguridad mejor que mejor

Saludos
  #7 (permalink)  
Antiguo 14/03/2005, 07:15
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Ok, entonces pone el require_once en todo include, con esto estas validando eso tambien, igual, como te dije antes (lo dije?), no es recomendable hacer lo que estas haciendo, sino que tener todo en un solo archivo es lo mejor (no el template html, sino el proceso).
Lo de darte ideas lamentablemente no se describe en dos lineas:(. Tendrías que leerte algun manual sobre seguridad web, comparacion binaria y demas de esa yerba. Despues, tenes que tener cuidado en como validas a un usuario, que pasas en las variables de sesiones y demás, conparacion con tipos de valores (int string...), etc.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 14/03/2005, 08:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 12 años, 8 meses
Puntos: 0
Pues lo de hacerlo en varios archivos... es mas que nada comodidad, de todas formas la validacion que le hare sera la misma que en el archivo principal, es decir, comprobando si estan definidas las variables usuario, nivel y pass de session.

Sobre los articulos que dices, si puedes pasarme algun enlace interesante sobre el tema te lo agradeceria

Saludos y gracias por contestar
  #9 (permalink)  
Antiguo 14/03/2005, 08:41
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Un poco de Serviores, php y algo mas...
http://tvsecure.net/manual/manual.html
Sql Injection.
http://www.governmentsecurity.org/ar...yItMatters.php
http://www.sitepoint.com/print/sql-i...n-attacks-safe
Alunos exploits
http://www.k-otik.com/exploits/
Y por supuesto, nuestro amigin www.google.com.

Para comparaciones binarias para los niveles, mirate los p}operadores disponibles en php:
http://ar2.php.net/manual/en/languag...rs.bitwise.php
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #10 (permalink)  
Antiguo 14/03/2005, 09:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 12 años, 8 meses
Puntos: 0
nicolaspar, gracias por los links. Les echare un vistazo, lo malo es el ingles, que no entiendo todo, jeje. Pero gracias de todas formas.
  #11 (permalink)  
Antiguo 14/03/2005, 10:31
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 14 años, 4 meses
Puntos: 7
una solucion "plug & play" para tu problema inicial...
if($admin)
{
el codigo que tienes de admin.php?admin=noticias
}
else
{
No estas autorizado para este sisio (admin.php?)
}


Chaop!
  #12 (permalink)  
Antiguo 14/03/2005, 21:42
Avatar de Keitaro  
Fecha de Ingreso: marzo-2005
Ubicación: Mi Casa
Mensajes: 33
Antigüedad: 12 años, 8 meses
Puntos: 0
Exclamación

Una solución que dio PHP-Nuke al problema podría ser...

Código PHP:
if (eregi("pagina.php",$_SERVER['PHP_SELF'])) {
    
Header("Location: index.php");
    die();

Ve si el php que se está ejecuntando actualmente es el llamado pagina.php desde el mismo.

es decir, si intentan ingresar directamente a noticias, los matas con esta sentencia, deben pasar por el admin.php?sitio=noticias...

Espero que te sirva...

Sayonara!
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 05:28.