我看到了关于在cookie中存储登录信息的示例。
http://eisabainyo.net/weblog/2009/02/20/store-login-information-in-cookie-using-jquery/
尝试过,但似乎无法让它发挥作用。我必须插件,我不知道这里有什么问题。
此页面为Login.aspx,指向AccountMenu.aspx
编辑这是一场演示,测试,无论你是谁打电话。这个网站永远不会上线。我知道这不是这样做的方法。我正在寻求帮助来解决我的问题,而不是人们告诉我这是一个糟糕的设计。
(...)
<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>
答案 0 :(得分:14)
当用户填写表单
时,您需要实际调用代码$(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);
}
});
});
答案 1 :(得分:4)
document.cookie = "login=" + username_from_DOM_here + "-----" + password_from_DOM_here + "; secure";
不要在cookie声明中使用路径并确保页面是HTTPS,那么你应该没问题。安全cookie只能在HTTPS页面上传输,忽略路径限定符可确保cookie不可用于站点的其他部分。也不要使用expires限定符,因为cookie将在浏览器会话结束时到期。
还存在一些安全问题,因为Cookie仍然在文本文件中包含未散列的凭据。即使该cookie永远不会在HTTPS之外传输,它仍然可以被浏览器外的恶意软件访问。
答案 2 :(得分:0)
**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>