Foros del Web » Programando para Internet » PHP »

Seguridad en PHP

Estas en el tema de Seguridad en PHP en el foro de PHP en Foros del Web. Hola amigos, estoy desarrollando (o por desarrollar un panel de administración de contenidos para un sitio web), desde allí se podrá editar todo el contenido ...
  #1 (permalink)  
Antiguo 17/11/2006, 06:31
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Pregunta Seguridad en PHP

Hola amigos, estoy desarrollando (o por desarrollar un panel de administración de contenidos para un sitio web), desde allí se podrá editar todo el contenido del sitio, por lo que me he puesto a leer sobre seguridad antes de empezar.

O sea habrá un formulario de loggeo (desde otro dominio), que te enviará al panel de control.
Estoy un poco confuso, he visto que me conviene usar sesiones, que se propaguen por cookies (segun he estado leyendo).
Vi un post de cluster (bueno, vi varios ), pero uno que explicaba como usar ini_set, etc.

Estoy un poco confuso a la hora de aplicar propiamente las sesiones..
basta con sólo poner un:

Código PHP:
session_start();

if(!isset(
$_SESSION['usuario']))
{
 
header("Location: login.php");

¿¿¿???

Lo que debo proteger será sólo un archivo php donde estarán todas las secciones del panel de control

espero alguna orientación...
Muchas gracias
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #2 (permalink)  
Antiguo 17/11/2006, 08:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si hablas de que vas hacer un "login" desde -otro- dominio .. recuerda que las sesiones o cookies son sólo válidas para el domino que contiene tus scritps (tu "panel de control" en sí).

En principio .. para el uso de sesiones te sobraría como propones:

Un script donde valides a tu usuario y definas tu variable de sesión:

autentificacion.php
Código PHP:
<?
session_start
();
// etc ...
if (....){
  
$_SESSION['usuario'] == $usuario;
   
header("Location: panel_de_control.php");
   exit;
} else {
   
header ("Location: login.php");
   exit;
}

?>
panel_de_control.php
Código PHP:
<?
session_start
(); 

if(!isset(
$_SESSION['usuario'])) 

 
header("Location: login.php"); 
 exit;
}

// resto de tu script ...
El tema de "propagar el SID" en cookies o del "ini_set()" se usa para "forzar" a PHP a que propague el SID en esa modalidad. Así como "redireccionamos" en este código de ejemplo (con header() de tipo Location) y sin mencionar al SID en ninguna parte (no lo hacemos en forma "manual") .. ahí "confiamos" en que PHP nos va a propagar el SID en una cookie (o así debe ser) bajo la configuración de PHP (php.ini y ciertas directivas) además de tener un cliente (navegador) que acepte esas cookies y que nada las bloquee.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 17/11/2006, 08:43
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
lo del login desde otro dominio, no creo que sea problema, porque luego enviaré los datos (previamente comprobados) a otro dominio mediante POST (se puede no?)

Una vez en el nuevo dominio (en el AdminPanel) ahí tomaré los datos de usuario y password y ahí recién crearé la session, estaría bien así?

disculpá si mis preguntas parecen muy estúpidas, pero si bien conozco bastante php, nunca use sesiones... :s

gracias
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #4 (permalink)  
Antiguo 24/11/2006, 15:20
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
no hay respuesta?
nadie sabe??

__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
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 13:34.