Attempt to save username / password in cookie; JQuery

I saw this example about storing cookie login information.

http://eisabainyo.net/weblog/2009/02/20/store-login-information-in-cookie-using-jquery/

Tried it but it can't seem to get it to work. I have to connect, and I do not understand what is wrong here.

This page is Login.aspx, which points to AccountMenu.aspx

EDIT THIS FOR DEMO, TESTS YOU KNOW TO CALL THIS. this site will never be online. I KNOW that this is not a way to do this. I am looking for help to solve my problem, not for people who tell me that this is a bad design.

(...)

<div data-role="content"> <form action="AccountMenu.aspx" method="post" id="login"> <label for="email">Email</label> <input type="text" id="email" name="email"/> <label for="password"><%= GetLabel("password") %></label> <input id="password" type="password" name="password" /> <div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <input type="checkbox" name="remember" id="remember" class="custom" checked="true" /> <label for="remember">Remember me ?</label> </fieldset> </div> <input type="hidden" name="submit" value="submitted" /> <button type="submit" name="submit" id="submit" data-theme="a" value="<%= GetLabel("new-login") %>" ></button> <button type="button" disabled="disabled" data-theme="a" value="<%= GetLabel("new-account") %>"></button> </div> </form> <script type="text/javascript"> if ($('#remember').attr('checked')) { var email = $('#email').attr("value"); var password = $('#password').attr("value"); // set cookies to expire in 14 days $.cookie('email', email, { expires: 14 }); $.cookie('password', password, { expires: 14 }); $.cookie('remember', true, { expires: 14 }); } else { // reset cookies $.cookie('email', null); $.cookie('password', null); $.cookie('remember', null); } var remember = $.cookie('remember'); if (remember == 'true') { var email = $.cookie('email'); var password = $.cookie('password'); // autofill the fields $('#email').attr("value", email); $('#password').attr("value", password); } </script> 

+4
source share
3 answers

you need to actually call the code when the user fills out a form

 $(document).ready(function() { var remember = $.cookie('remember'); if (remember == 'true') { var email = $.cookie('email'); var password = $.cookie('password'); // autofill the fields $('#email').val(email); $('#password').val(password); } $("#login").submit(function() { if ($('#remember').is(':checked')) { var email = $('#email').val(); var password = $('#password').val(); // set cookies to expire in 14 days $.cookie('email', email, { expires: 14 }); $.cookie('password', password, { expires: 14 }); $.cookie('remember', true, { expires: 14 }); } else { // reset cookies $.cookie('email', null); $.cookie('password', null); $.cookie('remember', null); } }); }); 
+12
source
 document.cookie = "login=" + username_from_DOM_here + "-----" + password_from_DOM_here + "; secure"; 

Do not use the path in the cookie declaration and make sure the page is HTTPS, then you should be fine. Secure cookies can only be transmitted on HTTPS pages, and ignoring the path qualifier ensures that the cookie is not accessible to other parts of the site. Also, do not use the expires qualifier, as the cookie expires when the browser session ends.

There are some security concerns that the cookie still contains unmanaged credentials in a text file. Despite the fact that this cookie should never be transmitted outside of HTTPS, it can still be accessed by malicious programs outside the browser.

+3
source
 **At first you need jquery.cookie.js file** <script type="text/javascript"> $(document).ready(function() { var remember = $.cookie('remember'); if (remember == 'true') { var username = $.cookie('username'); var password = $.cookie('password'); // autofill the fields $('#username').val(username); $('#password').val(password); $('#login-check').attr('checked',true);//#login-check checkbox id.. } $("#UserLoginForm").submit(function() { if ($('#login-check').is(':checked')) { var username = $('#username').val(); var password = $('#password').val(); // set cookies to expire in 14 days $.cookie('username', username, { expires: 14 }); $.cookie('password', password, { expires: 14 }); $.cookie('remember', true, { expires: 14 }); } else { // reset cookies $.cookie('username', null); $.cookie('password', null); $.cookie('remember', null); } }); }); </script> 
0
source

Source: https://habr.com/ru/post/1386371/


All Articles