Código PHP:
if (isset($_SESSION['user'])) {accion }
Código PHP:
if (isset($_SESSION['user']=="valor")) {accion }
| |||
para un login script, es necesario comparar el valor de $_SESSION? Estoy usando Código PHP: Código PHP: |
| ||||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Es depende de lo que necesites, si es necesario comparar valores lo haces, si no es necesario no lo haces, reside unicamente en que necesites hacer.
__________________ Si todo fuera tan sencillo como un symfony cc la vida seria más fácil. http://phpnico.wordpress.com |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? para comparar si es administrador o un usuario normal o invitado o niveles podria ser si no no es necesario o si es x seguridad crea otra session a parte de esa $token= creas un campo nuevo en la bd con una clave de seguridad encriptada y la muestras aki , $_SESSION['token'] = sha1($token); esto en la verificacion del login en el archivo $token = 'clave que guardaste en la bd encriptada o la pones normal y encriptas aki'; if (isset($_SESSION['token']==$sha1($token))) {accion } asi algo te podria servir de seguridad pero es tan solo un ejemplo esto se puede complicar muchisimo mas tan solo son sugerencia para que veas por donde puedes moverte o plantearte nuevas cosas |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Osea comparar el valor agregaria un poco mas de seguridad cierto? Porque si no, al crear la session con el ID del usuario sacado de la base de datos, ya uno tendria acceso no mas a la cuenta que tiene ese ID. Y eso se haria con un mysqli_fetch_assoc por ejemplo. Esta bien eso? Por otro lado, cuando uso $_SESSION['ID'] y el ahi lo saque de la base de datos, es buena idea encriptar el ID para la session? No conozco metodos para que otra persona injecte algo al servidor y cree una session falsa, pero en caso de que sea posible, al crear una session encriptada la cosa podria ser distinta. Es comun hacer esto o no es necesario?? gracias |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Como dijo webankenovi. Entonces al hacer login genero un token o numeros random y lo guardo temporalmente en la base de datos y lo asigno a la session pero tmb lo encripto y despues lo comparo. Osea que la session esta asegurada a un nivel mas. Que buena idea. Nunca lo hice. Que es lo mas comun para generar el token y de cuantos caracteres? 40? como el md5? Lo unico que tengo en cuenta es random(). Tu codigo "Chico3001" esta un poco avanzado para mi. Y si no me equivoco estas usando una clase cuando usas el simbolo -> y :: ? todavia estoy fresco con OOP Gracias! |
| ||||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? md5 son 32 bytes... la clase solo me controla los accesos a la base de datos ya que tengo muchos archivos en mi aplicacion, pero si te sientes mas seguro usando funciones adelante.. es lo mismo El token lo genero y lo registro de esta forma: Código PHP: Última edición por Chico3001; 17/12/2011 a las 14:16 |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? paso a paso 1- logeamos y insertamos en el campo token del usuario un numero aleatorio 2- seleccionamos token de la bd y le damos valor como session ya encriptada 3- en cada pagina comparamos la session con el token de la bd ambos encriptados si no fallara CHICO te lo explico bastante bien |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? if (isset($_SESSION['token']==sha1($token))) { if (isset($_SESSION['nivel']=="admin, usuario,invitado,cliente lo que gustes")) { if (isset($_SESSION['user'])) { accion } } } Última edición por webankenovi; 17/12/2011 a las 15:04 |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Me funciona, que les parece? Código PHP: |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? function login_user ($email, $password) { global $dbc; $query= "select count(email) as user, user_id from users where email='$email'and password='$password';"; $result= mysqli_query($dbc, $query); $row = mysqli_fetch_array($result); if( $row['user']==1) { $token= uniqid(rand(),false); $query= "update users set token='$token' where user_id='".$row['user_id']."'"; $result=mysqli_query($dbc, $query); if($result){ $_SESSION['token'] = $token; } } } login_user($email, $password); |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Si pegue el script equivocado porque tengo localhost y carpeta original. Falto sincronizar los archivos con Dreamweaver. Pero lo tengo asi (como dijo webankenovi): Código PHP: Tengo otro script sin usar token y estaba pensando en que seria mas rapido, pero obviamente menos seguro, este es: Código PHP: Código PHP: |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? tambien te digo que tu script de login es de los mas escasos que e visto (quiero decir basico) no creo que tengas problemas de velocidad , si vieras algunos scripts de login completos entonces te asustarias |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? bueno pero uno esta revisando si la session fue creada constantemente o al menos cada vez que se cambie de pagina. Osea al principio de cada archivo uno se fija si la session fue seteada para permitir mostrar contenido privado, entonces si el token esta guardado en la base de datos y la session fue creada con el token, no tendria uno que comparar la session token con la base de datos token y si son iguales dar acceso o negarlo? Abria una consulta de base de datos cada vez que hace esta comparacion, no? (para estar seguro que entendi) Por otro lado, que mas puede uno agregar para mas complejidad? que es comun aparte del token. Estaba pensando en otra session con la direccion IP, ya que es unica. |
| ||||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Efectivamente... al inicio de cada pagina necesitas comparar el token del cliente con el token almacenado en la base... si son iguales entonces permites el acceso Por otro lado te falta la funcion contraria..... actualmente estas creando tokens y almacenandolos en la base de datos... sin embargo tambien tienes que pensar en una funcion automatica (ejecutada con un cronjob por ejemplo) que revise la base de datos y vaya eliminando automaticamente los tokens viejos... de lo contrario llegara un punto donde no importa el token que te den.. siempre estara vigente... |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Cuando inserto un token hago un sql "update" cuando cierro la session puedo simplemente dejar el token. Cuando el usuario regresa hago otro sql "update" y lo reemplazo. Dejar el token guardado en la base de datos, no es buena idea? En caso de que no sea buena idea, podria instalar un javascript que al cerrar la ventana o hacer "logout" ejecute una function PHP con un query para eliminar el token. Cita: Por otro lado, que mas puede uno agregar para mas complejidad? que es comun aparte del token. Estaba pensando en otra session con la direccion IP, ya que es unica. |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Cita: si lo entendiste bien
Iniciado por eybel ![]() bueno pero uno esta revisando si la session fue creada constantemente o al menos cada vez que se cambie de pagina. Osea al principio de cada archivo uno se fija si la session fue seteada para permitir mostrar contenido privado, entonces si el token esta guardado en la base de datos y la session fue creada con el token, no tendria uno que comparar la session token con la base de datos token y si son iguales dar acceso o negarlo? Abria una consulta de base de datos cada vez que hace esta comparacion, no? (para estar seguro que entendi) Por otro lado, que mas puede uno agregar para mas complejidad? que es comun aparte del token. Estaba pensando en otra session con la direccion IP, ya que es unica. ahora al logearse creas token y guardas y al navegar compruebas y al finalizar session destruyes el token de la bd |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? claro, la unica diferencia es que cuando cierran abruptamente la ventana del explorador tendria que usar javascript para ejecutar una function php que elimine el token de la base de datos, ya que la session se terminaria automaticamente al cerrarse (pero se podria igual, destruir). Me podrian decir que otros metodos se podrian implementar? solo para tenerlos en cuenta a futuro... Cookies lo descarto. Pero IP seria buena idea? |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? ip tambien podrias inplementarlo añadirias mas filtros (token,user,nivel,ip) esta bien si puedes hacerlo . lo de el token de eliminar ay una manera mucho mejor crea una tabla especifica de tokens , con id-token-time y ip si kieres un script que compruebe si el usuario lleva sin navegar mas de x minutos y si es asi se destruye , entnces al navegqr los usuarios estaran ejeuctando dicho script todo el rato y asi eliminando tokens sin usar (no se si me entendiste) |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? $token_controlador = time(); $token_segundos = 600;10minutos $token_controlador_final = $token_controlador - $token_segundos; /*borrar datos token mas de 10 min*/ mysql_query("delete from token where controlador < $controlador_controlador_final") or die ("pagina de error"); mas o menos esta es la idea para borrarlos , cualquier usuario ejecutara este script al navegar y borrara tokens sin usar en 10 minutos podrias usarlo en una tabla nueva o en la misma de usuarios |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Si te entendi, pero tendria que ser un script que se ejecute automaticamente del lado del servidor. Como si fuera una tarea automatizada, cierto? Chico3001 dijo Cita: se lo conoce asi? (ejecutada con un cronjob por ejemplo) |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? no tiene xq pueden ser los usuarios de la web los que ejecuten ese script al navegar por tus paginas (ellos no lo sabran) como si hablaramos de un sistema de usuarios online de ay lo e sacado yo la idea |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? Si si ahi te conteste pero creo que no viste la respuesta que puse.. muy buena idea! gracias por el dato, con esa idea podria hacer varios tipos de mantenimientos diarios |
| |||
Respuesta: para un login script, es necesario comparar el valor de $_SESSION? esque contestamos a la vez jeje ya vi la respuesta si es asi , puedes llegar hacer cualquier cosa yo lo hago en un sistema online los usuarios que navegan comprueban la tabla y si el controlador es mas de 10 minutos lo borro de la tabla de online |
Etiquetas: |