jQuery 网站记住用户名和密码(但是不建议保存密码到本地不安全)

记住密码是每个有帐号登录的网站必备的,但是有时候还是不安全的。

1、localStorage实现保存密码用户名

localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。localStorage 属性是只读的。

localStorage.setItem("name", name);
localStorage.setItem("password", password);

2、sessionStorage 实现保存密码用户名

localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。

sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

提示: 如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 该数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。

sessionStorage.setItem("name", name);
sessionStorage.setItem("password", password);

3、实际的demo 

<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>记住用户密码</title>
<link href="layui/css/layui.css" rel="stylesheet" />
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script>

</head>

<body>

<div class="layui-main">

		<div class="layui-form-item">
			<label class="layui-form-label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名</label>
				<div class="layui-inline">
					<input id="name">
				</div>
		</div>
		<label class="layui-form-label">密码</label>
		<div class="layui-inline">
			<input id="password" type="password">
		</div>	
		<br>
		<div  style="margin-top: 10px;"><input type="checkbox" οnclick="check()" id="check1"/>记住密码</div>
				
		<div class="layui-form-item">
			<label class="layui-form-label"></label>
				<div class="layui-input-inline">
					<button type="button" class="layui-btn " onclick="get()">提交</button>
				</div>
		</div>

</div>

<script type="text/javascript">
$(document).ready(function(){
	//页面加载完 获取是否选中记住密码
	var ck = localStorage.getItem("ck");
	if(ck){
		var name = localStorage.getItem("name");
		var password = localStorage.getItem("password");
		$("#name").val(name);
		$("#password").val(password);
		$("#check1").prop("checked",true);
		//document.getElementById("check1").checked = true;
	}
})
 function get(){
 //获取是否选中记住密码
 var ck = document.getElementById("check1").checked;
 //获取输入的用户名
 var name = $("#name").val();
 //获取输入的密码
 var password = $("#password").val();
 if(ck){
	localStorage.setItem("name", name);
	localStorage.setItem("password", password);
	
	sessionStorage.setItem("name", name);
	sessionStorage.setItem("password", password);
	
	//$.cookie('name1', name, { expires: 7 });
	//$.cookie('password1', password, { expires: 7 });
	//保存是否记住密码状态
	localStorage.setItem("ck", ck);
 }
 }	
 function check(){
  
 }
 
</script>

</body>
</html>

 

 

通过jquery.js传递用户名密码是存在漏洞的。因为jquery.js是一个客户端脚本库,它的主要功能是对HTML文档进行操作和处理。在使用jquery.js传递用户名密码时,如果没有采取适当的安全措施,可能会导致敏感信息泄露和安全漏洞的产生。 首先,jquery.js是一个开放源代码的库,所有的代码都是公开的。这就意味着任何人都可以查看和分析其中的代码。如果在传递用户名密码的过程中没有进行合适的加密和处理,那么攻击者可能会通过查看jquery.js的代码来获取用户的敏感信息。 其次,jquery.js是在客户端运行的,这意味着用户可以直接访问和编辑它。如果在jquery.js中直接将用户名密码明文传递给服务器,那么用户可以很容易地通过修改jquery.js的代码来修改传递的内容,例如将用户名密码发送给其他服务器或保存在本地。 为了避免通过jquery.js传递用户名密码的漏洞,我们可以采取以下措施: 1. 使用HTTPS协议传输数据,确保数据在传输过程中进行了加密,防止中间人攻击和数据被窃取。 2. 对传递的用户名密码进行加密处理,可以使用哈希算法或者其他加密算法将明文的用户名密码转换成密文,以增加攻击者的难度。 3. 在服务器端对接收到的用户名密码进行安全验证和过滤,防止恶意输入和攻击。 4. 避免在客户端保存敏感信息,例如将用户名密码保存在cookie或本地存储中,可以使用session或token来进行用户身份验证。 总之,通过jquery.js传递用户名密码是存在漏洞的,需要我们在传递和处理敏感信息时采取适当的安全措施,保护用户信息的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码奴生来只知道前进~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值