|
Jajaja, cuesta poco registrarse y me hace feliz. Además aveces la gente necesita un pequeño empujoncito .
Lo de los comentarios fugados en diferentes pestañas no debería suceder (sólo en diferentes navegadores u ordenadores a la vez) a no ser que... inicies sesión en una, entres en otra, cierres sesión en la nueva, inicies sesión en la nueva, postees en la primera ).
Ahora explicaré cómo y por qué sucede esto (y no se postea de forma anónima como tú dices).
(***)
Cuando posteas lo que haces es enviar a una página web llamada "postear.php" (nombre ficticio) un mensaje como el siguiente: "hola, soy granaína y quiero postear en la página 20 de LaNsHoR lo siguiente: eeh lanshor, amo log85, te pongo un 10 en todas las páginas a partir de ahora".
Entonces postear.php recibe el mensaje y comprueba si realmente en el ordenador que hace la petición de post hay una sesión iniciada de granaína, si es así crea el post, y si no... pues pasa de tu cara bonita
¿Cual es el problema?. Al ser una página web, se puede visitar "a mano" escribiendo la dirección completa en el navegador, la dirección incluye los datos, por ejemplo, al visitar la dirección:
postear.php?usuario=granaina&blog=lanshor&pagina=20&mensaje=esto_es_un_post_de_prueba
Se crearía un post diciendo "esto es un post de prueba" en la página 20 del blog de lanshor con el usuario granaína). Esta es una forma poco ortodoxa, pero perfectamente válida de postear xD (la dirección que he puesto ahí es de mentira, en la vida real es todo un poquito más complicado).
Total, que si yo soy una persona maliciosa puedo crear una web "malvada.php" que dentro tenga incluida a la web postear.php con todos los datos puestos y con un mensaje malvado en plan "log85 es una mierda". Entonces yo te digo por el msn, "oye granaína, mira que web más wapa es maliciosa.php!!" y tú la visitas inocentemente sin saber, que a la vez que la visitas, estás mandando una petición de post a postear.php con el susodicho mensaje, ya que el autor de malvada.php ha metido dentro de esa página a postear.php (sí, se pueden meter páginas dentro de otras páginas, esto se llama iframe).
La página postear.php comprobará si en ese ordenador hay una sesión de granaína y... oh sorpresa! seguramente la haya, porque las sesiones del log se quedan abiertas mucho tiempo!! (normalmente hasta que tu cierres sesión o borres las cookies), entonces el post se realizará sin tú siquiera darte cuenta.
Nota: Una sesión no sólo está activa cuando estás visitando L85. Está activa siempre hasta que la cierres a mano o borres las cookies. Por eso aunque apagues el ordenador o reinicies, si has iniciado sesión esta se conserva (al menos en LoG85, cada web le pone la caducidad que quiere).
Así que como ves... con ese sistema tenemos un problema de seguridad... ¿Cómo solucionarlo?; sencillo.
Además de decirle a la página postear.php todos esos datos de los que ya hemos hablado, le decimos "nuestra clave es XXXXX", esta clave, NO es la contraseña (pues es información que viaja por un canal no seguro y podría ser leída por cualquiera que estuviera en nuestro segmento de red, y sería peor el remedio que la enfermedad), es una clave aleatoria que se crea cada vez que iniciamos sesión.
Así que postear.php comprueba además de que haya iniciada una sesión con granaína, que la clave que le dices es la clave que se creo para tu cuenta la última vez que iniciaste sesión. Si la clave no es correcta...postear.php pasa de tu cara una vez más
Cuando visitas una página de log85 con una sesión iniciada, esa página viene con "la clave" que necesitas para poder postear. Si pulsas CNTRL+U en Firefox puedes ver el código fuente de la página, y en la línea 14 verás que pone algo como "clave=XXXX", esa es la clave para postear (y para calificar, editar, puntuar, borrar post, etc), y esa clave, cambia cada vez que inicias sesión (puedes probar a salir y volver a entrar), pero mientras no cambies de sesión será siempre la misma (si abres varias páginas veras que no cambia).
Como el autor de malvada.php no sabe esa clave, que además va cambiando conforme cambias de sesión, no podría meter en su página una llamada a postear.php con los datos correctos y no pasaría nada. PERO...
PERO... si tú dejas una página abierta en tu casa, y en otro sitio inicias sesión (en el curro por ejemplo) la clave cambiará, y entonces cuando vuelvas a casa si intentas postear con la página que te dejaste abierta la clave que usará esa página será la vieja, y no servirá (post ignorado... ).
Tendrás que recargar la página para que el código de la página tenga la última clave usada (que es la que se creó en el curro). Es decir, NO es necesario salir y volver a iniciar sesión, simplemente volver a cargar la página (si no te la dejaste abierta no hay problema, xq al entrar ya recibirás la nueva clave).
Y para terminar:
Aunque estés en tu propia casa, no es recomendable dejarte el explorador abierto con una sesión iniciada. Es por seguridad. No cuesta nada cerrar el explorador y volver a abrirlo cuando llegues (con lo que te evitas ese problema y otros más importantes de seguridad).
Por supuesto hecha la ley hecha la trampa. Alguien de tu segmento de red (alguien de tu casa, de tu ciber, de tu curro, en definitiva, del sito físico en donde estés) podría leer esa clave cuando la uses con un sniffer, y crear una página maliciosa con la clave.
Pero leer la clave llevaría su tiempo y trabajo (capturar una trama de red justo en el momento en que la uses) y además tendría que crear una página, subirla a un servidor, y convencerte de que la visites.
Es poco probable que todo esto suceda en el intervalo de tiempo que dura una sesión media, no obstante si esto fuese un banco, usaríamos un sistema completamente diferente... xD.
En el futuro, y ahora que log85 sabe cuando un usuario está conectado y cuando no (lo del online y tal), haré que la clave cambie cada vez que hay un ping o una visita. Dejando de esta forma un margen de 30 segundos a un usuario malvado para hacer todo lo que he dicho. |