cookie安全性问题,cookie安全性解决办法

这篇文章写的是关于cookie的存储和获取,小白们可以看一看看,大佬飘过~首先,我们既然说到cookie的存储和获取,我们就要明确什么是cookie?Cooki

本文是关于存储和检索cookie 的。也欢迎初学者看看。

首先,由于我们讨论的是存储和检索cookie,因此我们需要澄清cookie 是什么。

简而言之,cookie 是一些网站存储在您本地设备上的数据,用于识别您的身份并执行会话跟踪。也称为浏览器缓存。

Cookie 主要是服务器或脚本在HTTP 协议下维护客户端工作站上的信息的一种方式。

这可能就是你所说的cookies的意思。现在您了解了cookie 是什么,让我们进入今天的主题:捕获和存储cookie。

f144c160-cc60-42a0-a388-415168ec19b9~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717735412&x-signature=se8Ofir109QgRi%2FvOSOueMz5ROU%3D

Cookie 经常用于登录,但是如何将您的用户名和密码保存在cookie 中?现在让我们详细了解如何检索cookie 中的数据。

1.使用jQuery.cookie.js存储数据。

如果打开的页面有“记住密码”单选按钮,请确定检查是否正确。如果是,则获取用户名和密码值。 $.cookie(id, id对应存储的值, {expires:存储期限})

if($(‘#rememberme’).prop(‘已检查’)==true) {

var userName=$(‘#user’).val();

var passWord=$(‘#psw’).val();

$.cookie(‘rememberme’, ‘true’, {expires: 7}); //保存有效期为7 天的cookie。

$.cookie(‘user’, userName, {expires: 7}); $.cookie(‘psw’, passWord, {expires: 7});

如果未选中“记住密码”,请将保留期限设置为-1。如果您以这种方式提交,数据将存储在cookie 中。

您可以通过打开控制台并选择ApplicationStorageCookie 来查看它。

22878f7293a346cc9a38334941d46af3~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717735412&x-signature=nwCbakTk3CPqBKWp5PdUB6CWd0k%3D

2. 如何检索cookie中的数据?

方法:$.cookie(名称)

示例:$.cookie(‘rememberme’)、$.cookie(‘user’)、$.cookie(‘password’)

如果cookie设置期限尚未到期,则必须首先在页面上显示cookie数据。如果cookie的rememberme为true,则将cookie的值分配给相应的文本框。选择“记住密码”单选按钮。

if($.cookie(‘rememberme’)===’true’){

$(‘#user’).val($.cookie(‘user’));

$(‘#psw’).val($.cookie(‘psw’)); 4 $(‘#rememberme’).prop(‘已检查’,true);

}

这就是我们今天讨论的cookie的获取和存储。

尽管Cookie 的危险性低于病毒,但它们确实包含敏感信息,例如您的用户名、计算机名称、使用的浏览器和访问的网站。用户不希望此内容被泄露,尤其是包含个人信息的内容。

其实,这并不奇怪。一种称为跨站点脚本的攻击可以实现此目标。跨站脚本攻击通常涉及利用网站中的漏洞将脚本代码嵌入到网站页面中,或者当网站页面引用第三方脚本代码时可能会遭受跨站脚本攻击。它检索当前站点的所有cookie 内容(目前没有cookie 范围限制),然后以某种方式将cookie 内容发送到指定服务器(例如AJAX)。一旦cookie落入攻击者手中,它就会恢复其价值。

fd31359e-644e-427f-813e-e57f92ae0f3e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717735412&x-signature=TOUJggb1C%2B95RZoOhF4QW3646Xw%3D

当向客户端cookie 输出敏感内容时,鼓励开发人员:

1)使cookie不被脚本读取在一定程度上解决了上述问题。

2)对cookie的内容进行加密,并在加密前嵌入时间戳,保证每次加密后的密文都不同(防止消息重播)。

3) 根据客户的请求,每次或定期更新cookie 的内容(即根据第2 条重新加密)。

4)每次向cookie写入时间戳时,数据库必须记录最后的时间戳(以防止cookie篡改和重放攻击)。

5) 当客户端发送cookie时,它首先解密它,然后验证时间戳。如果时间戳小于数据数据库中的记录,则表明发生了攻击。

根据上述建议,即使cookie被盗,攻击者也无法利用它,因为cookie是随机更新的,并且其内容是不规则的。使用时间戳的另一个好处是它们可以防止cookie 被篡改或重播。

Cookie 盗窃:黑客收集用户的cookie 并将其发送给攻击者。攻击者使用cookie 信息来获取对用户帐户的合法访问权限。

Cookie 篡改:攻击者利用安全机制,添加重写Cookie 内容的代码,以继续攻击。

这次我们不再谈论cookie的危险了。

贡献者:暗盾安全、尚宇

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/81662.html

(0)
小条's avatar小条
上一篇 2024年5月31日 下午12:42
下一篇 2024年5月31日 下午12:43

相关推荐

  • 第一次主机安装的过程

    前言 在日常开发中,公司电脑的windows启动大项目至少需要几分钟的时间,而mac电脑则只需要几十秒,我就想能不能配置一台windows系统的主机能和mac有一战之力。 前端对于…

    2024年3月24日
    0
  • dns污染是什么原因,dns污染导致打不开网页吗

    互联网行业的发展已经成为我们生活中不可或缺的一部分,但是您是否遇到过无法正常访问网页的情况呢?这可能是由于DNS污染造成的。什么是DNS污染?它如何影响我们的上网体验?我们一起来探…

    行业资讯 2024年5月14日
    0
  • 2024,Java面试风向标来了!

    重磅整理大厂最新 Java 面试真题,市面上真的不常见!结合了 2024 年最新的面试动向,从解析到源码全都有,精准拿捏面试! Spring、Redis相关真题 Spring、Re…

    2024年6月3日
    0
  • 搜索引擎刷新频率

    搜索引擎的刷新频率是指搜索引擎对网站内容进行更新的频率,它直接影响着网站在搜索结果中的排名。那么,你知道吗?搜索引擎的刷新频率其实并不是固定不变的,它会根据不同的因素而有所变化。那…

    行业资讯 2024年4月3日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注