cookie记住密码

1、通过js实现cookies记住密码;保存cookies的时间长短在setCookie方法里控制的。

// 我的网站的标识,避免与其他网站保存cookies冲突

<script type="text/javascript">

var myFlag = "xiaoli";

function remeberUser() {
var checkbox = document.getElementById('remeberId');
if (checkbox.checked) {
//取用户名
var usr = document.getElementById('inputEmail').value+myFlag ;
//取密码值
var pwd = document.getElementById('inputPassword').value;
var expdate = new Date();
expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
//将用户名和密码写入到Cookie
setCookie(usr, pwd, expdate);
}
}

//写入到Cookie
function setCookie(name, value, expires) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name
+ "="
+ escape(value)
+ ((expires == null) ? "" : ("; expires=" + expires
.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path))
+ ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure" : "");
}

function getCookie() {
var c_name = document.getElementById("inputEmail").value+myFlag ;
c_start = document.cookie.indexOf(c_name + "=")
if (c_start != -1) {
c_start = c_start + c_name.length + 1
c_end = document.cookie.indexOf(";", c_start)
if (c_end == -1)
c_end = document.cookie.length
document.getElementById('inputPassword').value = unescape(document.cookie
.substring(c_start, c_end));
} else {
document.getElementById('inputPassword').value = "";
}
}

</script>

2、jquery.cookie() 方法:一个轻量级的cookie 插件,可以读取、写入、删除 cookie。

需要引入库文件:

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>

<script type="text/javascript" src="js/jquery.cookie.js"></script> 

使用方法 
1.新添加一个会话 cookie:
$.cookie('the_cookie', 'the_value'); 
注:当没有指明 cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为“会话cookie(session cookie)”。 
2.创建一个cookie并设置有效时间为 7天: 
$.cookie('the_cookie', 'the_value', { expires: 7 }); 
注:当指明了cookie有效时间时,所创建的cookie被称为“持久 cookie (persistent cookie)”。 
3.创建一个cookie并设置 cookie的有效路径:$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 
注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这 个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。 
4.读取cookie: 
$.cookie('the_cookie'); // cookie存在 => 'the_value' 
$.cookie('not_existing'); // cookie不存在 => null 
5.删除cookie,通过传递null作为cookie的值即可: 
$.cookie('the_cookie', null); 

参数解释
1).expires: 365 
定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对 
象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。 
2).path: '/' 
默认情况:只有设置cookie的网页才能读取该cookie。 
定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 
如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。如果你想删除一个定义 
了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com' 
默认值:创建 cookie的网页所拥有的域名。 
3).secure: true 
默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。 
4).raw: true 
默认值:false。 
默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码, 
decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个基本的使用 cookie 记住密码的示例程序: ```python from flask import Flask, request, make_response app = Flask(__name__) @app.route('/') def index(): # 从 cookie 中获取用户名和密码 username = request.cookies.get('username') password = request.cookies.get('password') if username and password: return f'Welcome back, {username}!' else: return 'Please log in.' @app.route('/login') def login(): # 获取用户名和密码 username = request.args.get('username') password = request.args.get('password') # 验证用户名和密码 if username == 'admin' and password == '123456': # 登录成功,设置 cookie resp = make_response(f'Welcome, {username}!') resp.set_cookie('username', username) resp.set_cookie('password', password) return resp else: return 'Invalid username or password.' if __name__ == '__main__': app.run() ``` 在这个示例程序中,我们使用 Flask 框架来实现一个简单的登录页面。当用户访问首页时,程序会检查 cookie 中是否保存了用户名和密码,如果有,则欢迎用户回来;否则,提示用户登录。 当用户点击登录按钮时,程序会获取用户名和密码,并进行验证。如果用户名和密码正确,则设置 cookie,并欢迎用户登录成功;否则,提示用户用户名或密码错误。 注意:在实际生产环境中,使用 cookie 记住密码可能存在安全风险。建议使用更加安全的方式,如使用 session 或使用 OAuth2 等授权协议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值