¿Podemos hacer manejo de sesión en la página HTML con la ayuda de javascript?Manejo de sesión en la página HTML usando JavaScript
En caso afirmativo, ¿cómo? Si no, ¿por qué?
¿Podemos hacer manejo de sesión en la página HTML con la ayuda de javascript?Manejo de sesión en la página HTML usando JavaScript
En caso afirmativo, ¿cómo? Si no, ¿por qué?
La sesión es un mecanismo del lado del servidor, por lo que necesita una lógica de servidor para iniciar y administrar las sesiones.
JS no puede acceder directamente a las sesiones. Se almacena en el servidor, mientras que javascript se ejecuta en el cliente. Pero se puede hacer de forma indirecta, por ejemplo, almacenarlo en un archivo oculto, enviarlo al servidor y recuperar y asignar los valores ocultos a la sesión.
javascript solo admite cookies. Puede configurarlos para realizar un seguimiento de la sesión de un usuario, pero no admiten el uso de sesiones.
function createCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toGMTString();
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length,c.length);
}
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
Podemos hacer un manejo sesión en una página HTML con la ayuda de JavaScript?
Indirectamente. Use AJAX para invocar un controlador HTTP del lado del servidor que tenga en cuenta las sesiones. jQuery.ajax()
hace que AJAX sea fácil y hay muchos ejemplos.
Por ejemplo, esto se hace en .Net llamando a un punto final WCF, un servicio web o incluso una página que tiene acceso al mismo proceso en el que se mantiene el estado de la sesión.
Tanto puede obtener/establecer valores en la sesión de esta manera.
Si bien el término "sesión" generalmente se usa para un mecanismo del lado del servidor, que naturalmente no se puede utilizar sin algún script del lado del servidor, puede implementar una pseudo-sesión en JS si solo desea tener un seguimiento de inicio de sesión :
tener cuidado, sin embargo, 1. un mecanismo de este tipo puede causar cierta tensión en sus clientes navegadores en función de su sitio y los parámetros (acciones vistos , frecuencia del intervalo de verificación) 2. esto no podría sobrevivir si el usuario cierra la ventana/pestaña del navegador
Hoy (septiembre de 2017) recomendaría utilizar la función de almacenamiento web HTML5.
Citando del W3C: almacenamiento web
HTML; mejor que las cookies ¿Qué es HTML Web Storage?
Con almacenamiento web, las aplicaciones web pueden almacenar datos localmente en el navegador del usuario .
Antes de HTML5, los datos de la aplicación tenían que almacenarse en cookies, incluidos en cada solicitud del servidor. El almacenamiento web es más seguro, y las grandes cantidades de datos se pueden almacenar localmente, sin afectar el rendimiento del sitio web.
A diferencia de las cookies, el límite de almacenamiento es mucho mayor (al menos 5 MB) y la información nunca se transfiere al servidor.
El almacenamiento web es por origen (por dominio y protocolo). Todas las páginas, desde un origen, pueden almacenar y acceder a los mismos datos.
Más detalles acerca de cómo funciona y cómo ponerlo en práctica aquí: https://www.w3schools.com/html/html5_webstorage.asp
también los Documentos MDN son una buena fuente para obtener aún más detalles: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
cifrar Obviamente los datos almacenados en el almacenamiento Web no lastimaría
¿Qué quiere decir con el manejo de sesión? Puede establecer y editar cookies si eso es lo que quiere decir. – TJHeuvel