Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Inicio de sesión de JavaScript con cookies

He estado tratando de averiguar cómo hacer una de las tareas que me dieron durante las últimas 3 horas y parece que no puedo hacerlo.

Esta es la tarea:

Agregue una página de inicio de sesión (login.html) con un formulario de inicio de sesión al sistema. Al iniciar sesión, crea una cookie en la que se guardan el nombre de usuario, la contraseña y la duración de la cookie de inicio de sesión. Mientras haya una cookie de inicio de sesión, se pueden visitar otros sitios. Si la cookie no existe, cambia a login.html desde cualquier página. Al hacer clic en cerrar sesión, se elimina la cookie de inicio de sesión (nos lleva de nuevo a login.html).

este es mi código HTML para el formulario de inicio de sesión:

 <form action="index.html" id="loginForm" method="post"> <div> Username: <input type="text" name="uname" id="uname"> </div> <div> Password:<input type="text" name="pwd" id="pwd"> </div> <div> <button type="submit" id="myBtn"> Sign in </button> </div> </form>

Espero que alguien me pueda ayudar, me queda poco tiempo. ¡Gracias de antemano! :,)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En mi experiencia, necesita usar PHP y una base de datos porque si solo usa javascript, los usuarios no podrán acceder a sus cuentas si simplemente borran sus cookies.

Perdón por no ser muy perspicaz sobre cómo responder a su pregunta, pero PHP sería el primer paso, alguien más puede explicar cómo configurar PHP, porque no es mi especialidad.

Editar:

 <!DOCTYPE html> <html> <head> <script> function setCookie(cname,cvalue,exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); let expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for(let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function checkCookie() { let user = getCookie("username"); if (user != "") { alert("Welcome again " + user); } else { user = prompt("Please enter your name:",""); if (user != "" && user != null) { setCookie("username", user, 30); } } } </script> </head> <body onload="checkCookie()"></body> </html>

fuente del código: w3schools

about 4 years ago · Juan Pablo Isaza Denunciar

0

document.querySelector('#loginForm').addEventListener('submit', () => { setCookie('user', document.querySelector('#uname').value, '/') setCookie('pass', document.querySelector('#pwd').value, '/') }) if(!getCookie('user')||!getCookie('pass')) if(location.href != 'https://somelocation.example/index.html/') location.replace('https://somelocation.example/index.html/') // Cookies setting and getting functions function setCookie(name, value, path, options = {}) { options = { path: path, ...options }; if (options.expires instanceof Date) { options.expires = options.expires.toUTCString(); } let updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) for (let optionKey in options) { updatedCookie += "; " + optionKey let optionValue = options[optionKey] if (optionValue !== true) { updatedCookie += "=" + optionValue } } document.cookie = updatedCookie; } function getCookie(name) { let matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )) return matches ? decodeURIComponent(matches[1]) : undefined }

Explicando:

1.0 Evento:

Hay un evento para establecer valores en las cookies cuando se utiliza el formulario de envío (explicación de funciones en 1.2)

1.1 Comprobación de cookies:

Luego se verifica si la cookie "usuario" y "pase" no existen, entonces se le está redirigiendo.

1.2 Funciones:

1.2.0 establecerCookie:

Primero, obtenemos la ruta y las opciones que el usuario configuró, luego verificamos si la función de vencimiento está en formato de fecha (por ejemplo, 1653420565221 ), y si es cierto, luego la convertimos a cadena UTC. (Se omitió la parte con for...in loop porque no está en uso) Después de todo, las cookies se configuraron en una nueva.
1.2.1 obtenerCookie:
Simplemente obteniendo y codificando la propiedad de la cookie usando match() , y si no existe, devolviendo undefined .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda