Ver Mensaje Individual
  #19 (permalink)  
Antiguo 24/10/2005, 06:10
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por PeiShar
Además de las preguntas que hice dos mensajes anteriores y no me habéis podido responder (seguro que es por falta de tiempo), necesito saber como podría añadirle a este script que la sessión durase un tiempo después de dejar de navegar por ella pero sin que el usuario cierre la ventana del navegador, no se si eso podrá controlarse.
Sobre el uso de include() .. requiere() o equivalentes . .Te recomendaría ver la documentación de PHP al respecto para salir de dudas.

www.php.net/include
www.php.net/require

Sobre todo fijate bien que error (tipo) se genera cuando falla la función (cuando no puede abrir/leer tu script a incluir). Ahí está el detalle. Por lo general .. datos "críticos" a incluir es recomendable usar require() en lugar de include() (por qué genera un error fatal si falla el require() vs al include que sólo un Warning y PHP procesa diferente estos tipos de errores .. uno para completamente la ejecución del script y el otro podría continuar la ejecución del script ocasinando problemas por otro lado si no están esos datos).

Cita:
Esta bien colocar este otro código?


Código PHP:
if ((!$pass) || (!$user)) { echo "<script>alert('Debes rellenar todos los campos. Inténtelo de nuevo por favor.'); document.location.href='index.php';</script>\n"; exit();}


O es mejor mostrar el mensaje sin javascript.
Da igual .. el caso es que terminas la ejecución de tu scritp ahí mismo .. Eso sí .. si lo haces así como veras no generas una página HTML standar (con sus <html> .. </html>) y te quedas con la pantalla "en blanco" hasta que aceptas ese "alert" que a su vez no llevas a ningún sitio la página .. Usa mejor una redirección hacia tu formulario de login y ahí indica el mensaje de error (bajo una variable de control tipo: login.php?error=1 ... )

Cita:
Véis bien que use el campo formage para controlar que se rellena el formulario?

Código PHP:
if (($formage=="old") && ($user!=NULL))
No, .. basate en la existencia de alguna de las variables que usas en tu formulario .. verificado por la función empty() .. no con un "NULL" .. La función empty() asegura dos cosas: existencia de la variable y valor distinto a NULL o 0 (todo en una). Esa variable "hidden" que contiene el valor "old" .. la verdad que no tiene mucho sentido existiendo otras variables en ese formulario .. De hecho .. ya lo haces con esa validación del $_POST['submit'] ..


Cita:
¿Como podría hacer para que el login llamara una web segura https:443 pero que la intranet siguiese en el http:80 para proteger la clave contra sniffers?
Bueno .. tu formulario de login .. apuntalo a:

<form action="https://nose/autentificacion.php" method="post">

y cuando valides en tu autentificacion.php .. redirecciona hacia otro URL por http .. El caso es que vas a tener problemas con las sesiones (sobre todo si propagas el cookies el SID), .. La sesión la crearas para el dominio seguro .. y no podras leerla en la zona NO segura ..

Por qué no usas toda tu "intranet" bajo SSL? ..

Un saludo,