Duda Sesiones PHP + AJAX Últimamente me asaltan ciertas dudas respecto al uso de Ajax y PHP, junto con el tema de la seguridad informática y la creación de sesiones.
Ahora mismo, hay miles de formularios AJAX+PHP para registrartre, o mandar información y escribir comentarios. Sin embargo, volviendo al tema de login, realmente es un poco absurda la concepción del mismo.
El objetivo de AJAX, es mejorar la interacción del usuario con la aplicación web, por lo cual, intenta realizar "tareas" sin tener que recargar la página completamente, sino una capa de información o elemento... bueno, todos sabemos cómo funciona.
El asunto en el que quiero centrarme, es en los formularios de login basados en PHP junto con AJAX. Se quedan a medias, simple y llanamente. El usuario intenta registrarse, y, sólo y tan sólo en caso de que el login sea incorrecto, devuelven en una respuesta al usuario que se ha equivocado. Sin embargo, cuando se registran, el propio documento .php debe iniciar la sesión y redigir al usuario a una página segura. Por tanto, el uso de AJAX hace la mitad de lo que se podría esperar en primera instancia.
Lo ideal, sería poder realizar un login sin tener que verse afectado por una redirección hacia una página segura, si, realizando un login satisfactorio, al igual que cuando es erróneo, te devuelve los valores que serán necesarios para el funcionamiento de la aplicación. Es simple, se puede hacer, es más, no hace falta redirección alguna, se podría devolver el 'id' del usuario sin más y recargar los elementos necesarios de la página contenedora que vayan a usar dicho 'id'.
Hasta ahí, todo bien, se puede hacer perfectamente. El problema está en que yo no sé demasiado de seguridad informática. Por tanto, no sé si éso sería realmente seguro o habría algún método o solución para realizarlo. El sistema de login sería igual que el actual, junto con sus encriptaciones de contraseñas en sha-1 por ejemplo o lo que se quiera usar, pero, sin un inicio de sesión con session_start() y sin redirección a una página segura. Se podría usar JSON para recibir los bloques necesarios, incluso una variable de inicio de sesión, aleatoria, en una tabla temporal que se enviase cada vez que el usuario registrado realiza alguna acción, y que sería eliminada cuando se cerrase la sesión o la página. Junto con la encriptación sha1, se montaría un https con... ssl por ejemplo, y los datos irían encriptados por la red.
Así pues, la pregunta es... ¿es ésto posible? ¿hay alguna alternativa al inicio de sesión en PHP para crear una web segura? ¿nadie más se ha preguntado por qué no hay métodos alternativos? No creo que sea el primero que ha pensado en algo así, pero no está dentro de mis conocimientos resolverlo de forma correcta, ni, mucho menos, establecer cómo de seguro sería. Pero técnicamente, se podría hacer, y, teóricamente, no lo veo menos seguro.
Muchas gracias por cualquier tipo de respuesta. |