Un dilema con PHP

EnZo

hola, tengo un dilema, he echo un sistema de login con consultas a una bd, le he añadido una opcion de entrada automaticamente cada vez q conecta a la web. Si pulsa el checkbox las cookies caducaran de aki a un mes, si no lo pulsa caducan de ahi a una hora. pero y si el usuario esta mas de una hora, tendra q volver a indentificarse, o si esta en un ciber de ahi a una hora se puede colar alguien. Me recomendais algun metodo? Io e pensao que cuando se cierre la ventana con javascript hacer q borre las cookies. Pero no se combinar leer las cookies echas con php para javascript.

Que sistema usasteis vosotros si lo hicisteis alguna vez?

Gracias :D

gohrum

a ver, esta es una pregunta de grado superior.
Primero, te diria que no te preocuparas mucho por las cookies si piensas que se colaran al cabo de menos de una hora si estan en un ciber, ya que si no es muy importante tu web no creo que pase na.
Si tanto te preocupa, puedes hacer que las sessiones en lugar de cookies, se hagan mediante la funcion session_start() de php.
Informate acerca de las funciones.
Yo he hecho mi propio sistema de usuarios que comparte base de datos con phpbb2plus1.5 y me ha costado bastante, pero ha valido la pena.
yo uso que las cookies no desaparecen casinuncajamas, y por lo tanto, cómo mi web es menos conocida que las de africa, pues no pienso en esas cosas de momento. :P
a ser posible dejame tu web en mi libro que me gustaria verla, porque si la pones aqui, el Mr. PiradoIV la borrara.

Whose

hazlo con sesiones, cuando cierre la ventana pierde la sesion y punto ;)

gohrum

#3, veo k estamos de acuerdo.
session_start

EnZo

GRACIAS

gohrum

de na maxo, pa eso estamos

EnZo

gohrum, he leido varios documentos sobre las sesiones.
pero como soy lamer xD todabia no entiendo su dinamica ni como se usan, tmpc e visto un ejemplo q me sirva para lo que kiero hacer.

EL caso es q io necesito las cookies xq a cada pagina q entra alguien identifico mediante las cookies si es user y el pass son correctos con los de la bd.

Y si con las sesiones no tengo cookies, como hago que en cada web q entre identifique el user y el pass cogiendo la info de las cookies

guner

Date cuenta que eso pasa en MV, si estas en un ciber, entras y te vas sin darle a log out ... ¿que pasa? que si alguien entra pronto en MV entra con tu cuenta :/

session_start();

saet0rz

Yo uso un sistema de login y registro parecido, en el cual yo he añadido en la ultima linea de mi config.php (archivo que me facilita la conexion con la db, ya que ai guardo los datos y no tengo que ponerlos cada vez que quiera conectar a la DB)

// Ultima linea del config.php [ aqui añades el session_start(); ]

session_start();

Con esto consigues que en cuanto el usuario cierre el navegador, se eliminen la cookies usadas durante la sesion (session_start(); ). Espero que esto te ayude en tu web. para mas info: www.saetorzweb.tk (Perdonene el diseño pero aun no he tenido tiempo a currarme uno XD, a ver si este veranito...) XD

AntonRodin

este es mi login entero:

<?php
include("configuracion.php");
$sql = "select * from usuarios where nick = '$usuario'";
$query = mysql_query($sql,$conectarse);
$fila = mysql_fetch_array($query);
if ((mysql_num_rows($query) != 0) AND ($fila['contrasena'] == $password))
{
session_register("usuario");
session_register('nivel');
$SESSION['usuario'] = $usuario;
$
SESSION['nivel'] = $fila['nivel'];
mysql_free_result($query);
mysql_close($conectarse);
header("Location: index.php");
}
else
{
echo "No hay ningun usuario asi o la contraseña es incorecta<br>";
}
?>

lo aprendi hacer segun este tuto pero la verda prefiero kokis: http://php-hispano.net/archivos/Manuales/51

Tu no tendrias que preocuparte por las cuentas de peña pq existe el boton de salir si uno no ha salio y le han robao la cuenta pos que se joda xDD

p.d: pa el ultimo: Pos la verda es que mejor que te curres uno tuyo pq este me recuerda a una pagina no sabria decirte cual xDDDDDDDDDDDDDDD

DeaDpooL

Saet0rz, lo tuyo no tiene nombre, plagias el trabajo de media vida ( que por mucho que dejes su copyright, sin su derecho, no puedes hacerlo ) y incluso las noticias, como lo de los 5 años de cs. Flipante ><'

Respecto al tema, yo uso el session_start(); y entonces asigno las vars, guardando en sesiones el usuario y la pass, y despues en cada seccion, hago un query, comprobando que la sessión almacenada coincida con los datos de la bd,en caso afirmativo, continuo, y en negativo, envio 1 mensaje de error mediante echo'

Yo tambien soy torpin para el php y tal, pero si miras manuales practicos, enseguida le cojes el tranquillo.

LiuM

jajaja saetorz pones copyright tuyo y pones el enlace en la web original...no tienes verguenza

Carcass

¿Y no es más fácil guardar en sesión el identificador del usuario ya validado y ahorrarte una consulta a la base de datos en cada página? Vamos, digo yo...

Total, las variables de sesión sólo se pueden modificar desde el servidor...

Si fueran cookies sí se pueden cambiar en el cliente, pero con sesiones veo bastante absurdo una consulta extra por página.

PIN-HEAD

saet0rz

Muy mono lo del registro y el login, pero por mucho que hagas login no cambia la cabecera, sigue apareciendo el formulario para autentificarse...

SALu2

EnZo

Pues no lo entiendo, me esplico. Si las variables de sesion desaparecen cuando cierras el navegador, pues al dia siguiente el usuario tendra que volver a identificarse. Sin embargo con cookies y haciendo consultas a una bd (porque como dice carcass se pueden modificar en el pc del cliente) pues el usuario no tendra q logearse cada vez q reentre.
Por eso no lo entiendo :( y no me valdrian las sesiones para lo que quiero.

Imaginaros el sistema de MV pues cuando vas a logearte que haya un checkbox y dependiendo de si lo usas o no cuando reentres no te pedira que te loges de nuevo. Y si no lo usas el usuario no tendra q preocuparse de de desconectar de la web. Como el messenger a fin de cuentas :D

gohrum

No os he entendido muy bien; pero creo que estas enperrado en usar cookies;
muy bien te explico:
Pa no comerme mucho el cabezon te voy a poner EXACTAMENTE el codigo que uso yo para que si estas login te de opcion de panel de control, y si estas logoff te da opcioin de loginearte ^^ mi vocabulario... no es el que toca, pero creo que lo entenderas.

<? //miramos si nos hemos logeado
if($_COOKIE["nick"]){
echo " » Bienvenido $HTTP_COOKIE_VARS[nick], estás en estado On-line.<br>
» <a href='main.php?id=usuarios/cpanel'>Ir al panel de Control.</a><br>
» <a href='logout.php'>Desconectar</a> ";}
else{echo "
<form name='form1' method='post' action='minises2.php'>



</form>
» Bievenido <strong>Invitado</strong>, estás en estado offline.<br>
» <a href='main.php?id=usuarios/nuevo'>Nuevo Usuario</a> | <a href='#'>Olvidastes la contraseña?</a>
";}?>
te explico o te lo entiendeS?

gohrum

Usuarios habituales

  • gohrum
  • EnZo
  • PIN-HEAD
  • Carcass
  • LiuM
  • DeaDpooL
  • saet0rz