接受cookie(cookies设置允许还是不行)

1. 接受cookie,cookies设置允许还是不行?

之前项目有一个需求,在下载文件的时候,在向后端发出请求的这段时间要有loading动画提高交互性。

但是当时后端只能以传统的向前端发送流的形式来下载,ajax派不上用场,只能用js去模拟,但是这样就监听不到后端的返回,只能等后端将数据流发送回来,浏览器自动弹出下载提示。

想了想,只能是后端返回的时候发送一个Cookie: {downloading: true},然后我前端轮询这个字段,轮询到就将loading关闭,并将这个cookie删除。理论上来说好像是没什么毛病,但实际应用起来还是有一些坑的。

踩坑完毕,记录一下。

首先遇到的第一个坑就是发现cookie删不掉。

当然,这里说明一下,并不是js或者浏览器本身的机制不允许删除cookie,只是我删除的方式不对。

一开始我只是简单的将cookie设置为空,将expires设置为-1。心里想着,已过期,cookie自动清除,美滋滋,然而事实并没有按照我想的发生。downloading还是躺在cookie里面没有任何变化,是因为没有刷新吗?于是我在后面再次获取了一下:

console.log(document.cookie);

发现cookie里面确实还是有downloading这个字段。

没办法,打开application看看,果然发现了问题,后端传递过来的这个cookie没有设置expires,但是却默认设置了path,再联想我之前删除的cookie是没有带任何参数的,结合cookie的机制,发现了问题所在。

解决办法:

在删除cookie的时候要加上这个字段所带的参数,可能是出于安全的考虑,不同的参数,即使名字相同,也会当成两个cookie存储,所以我删除的并不是后端传过来的cookie,自然就删除不了。

第二个坑,后端设置cookie默认的path属性没有规律。

出于代码复用和性能考虑,后端的很多功能都会集成到一个API,再加上前端可能会用到一些第三方的框架,这些框架所采用过的设计模式都各不相同,都会造成一些不可预测的结果,而项目有可能在任何地方都会有下载的需求,所以当我发现如何删除cookie的时候,我又发现了一个坑,那就是不知道该如何准确获取cookie的path属性。而且如果你请求的接口默认path与你所在的url不匹配的话,浏览器将会忽略这次的cookie设置,在我的项目的直接体现就是,后端响应了cookie,但是我前端接收不到,页面loading无法消失,卡死了。

解决办法:

根据cookie的机制,当cookie的path属性为'/'的时候,cookie就不会被忽略。

所以解决办法就是让后端在set-cookie的时候讲path设置成固定的'/',以java为例:

Cookie cookie = new Cookie("Downloading","true");

cookie.setPath("/");

response.addCookie(cookie);

然后前端只要在监听到downloading字段的时候,再将path='/'的downloading删除就可以了。

接受cookie(cookies设置允许还是不行)

2. cookie有隐私提示吗?

COOKIE默认即使是允许了,还是会出现提示的!

Cookie就是一个数据包,我们在每次访问网址的时候,浏览器都会将这个网站的Cookie发回到网址的服务器中,同时站点也可以随意的更改你电脑上的Cookie,但是Cookie不只有一个,而是一个网站一个,只是你在某个网址的唯一标识而已。

如果你需要它不出现提示,那么直接在浏览器----工具---INTERNET选项---隐私---高级---覆盖COOKIE自动处理,下面都选择接受,同时勾选总是允许会话cookie,确定即可!

3. 如何开启电脑中的cookie?

是哪个浏览器?若是IE如下:

1.单击右上方的“工具”菜单。看上去它像一个齿轮图标。

2.选择“Internet 选项”。

3.单击“隐私”选项卡。

4.单击“默认”按钮(或手动将滑块下滑到“中”)。如果“默认”按钮为灰色,则表示当前已经为默认级别,Cookie则为启用状态。

5.单击“确定”按钮。

若是firefox如下:

1.单击左上角的 Firefox 菜单。(在 Mac 电脑上可直接单击 Firefox 菜单。)

2.选择“选项”,然后还是选择“选项”。(在 Mac 电脑上,选择“偏好”。)

3.单击“隐私”选项卡。

4.单击“Firefox 将会…”下拉菜单,选择“使用自定义历史记录设置”。

5.选择“接受来自站点的 cookie”复选框。

6.单击“确定”按钮。

若是chrome如下:

1.单击右上方的“自定义与控制”。

2.单击“设置”控制项。将自动打开一个新选项卡。

3.单击页面下方的“显示高级设置…”。

4.单击“内容设置…”

5.在“Cookie”下方,确保选中“允许设置本地数据(建议)”。

6.单击“确定”。

若是opera如下:

1.单击浏览器左上方的“Opera”菜单。

2.依次选择“设置”、“偏好”。

3.在弹出的偏好窗口的顶部选择“高级”选项卡。

4.选择左下方的“cookie”选项卡。

5.在“接受 Cookie”部分中,选择“接受 Cookie”。

6.单击“确定”接受更改。

4. 删除cookies有害吗华为手机?

cookie就是记录一下你的上网记录,比如你上一些论坛,如果你记住用户名密码的话,下次就可以直接登录,而不用再次输入用户名了,所以更方便了。

但是如果别人获取了你的cookie的话,就可能用你的用户名登录,查看你的上网记录等。不过在自己的电脑上没关系了。在网吧就不要记录用户名,不记录密码就可以了。

删除对电脑系统没有影响,放心的删除吧。我都定期删除。

5. 怎么访问不到cookie?

可以进入手机设置-应用程序-InternetExplorer-高级设置-来自网站和应用的Cookie-选择“全部接受”即可。 清除微信内置浏览器cookie方法:

1.打开并登陆微信,进入微信主界面;

2.点击“我”选项,接着点击设置;

3.在设置界面点击通用选项;

4.在通用界面点击清理微信存储空间;

5.接着选择删除的内容,选择全选;

6.然后选择删除,出现提示,确认删除即可完成清理。

6. 怎么关闭浏览器中的cookie?

要关闭浏览器中的Cookie,您可以按照以下步骤:

1. 首先,打开您使用的浏览器。

2. 在浏览器的工具栏中,找到并点击浏览器设置选项。通常,这个选项会显示为一个齿轮或三个垂直点的图标。

3. 在设置菜单中,查找并点击隐私设置或安全选项。具体名称可能因浏览器而异。

4. 在隐私或安全选项中,您应该能够找到有关Cookie的设置。点击进入Cookie设置页面。

5. 在Cookie设置页面,您将看到关于如何管理Cookie的选项。选择禁用Cookie的选项。

6. 确认禁用Cookie后,关闭浏览器设置页面。

请注意,关闭浏览器中的Cookie可能会影响您在许多网站上的登录状态、个性化设置和其他功能。如果您关闭了Cookie,某些网站可能无法正常工作。因此,在禁用Cookie之前,请确保您了解其潜在影响,并根据自己的需求进行决策。

7. 为什么前端还要token设置到Authorization?

前端将token设置到Authorization字段可以防止跨站请求伪造(CSRF)攻击。

将token存储在cookie中,黑客可以通过在相同的域中的恶意网站上发送请求来获取并使用该token。例:黑客可以使用跨站请求伪造 (CSRF) 攻击来获取并使用令牌。在这种攻击中,黑客利用恶意网站上的漏洞来向受害者的网站发送请求,并在请求中包含该令牌。如果受害者已经登录到该网站,并且未采取预防措施,则该请求将被视为有效,并为黑客提供了对受害者账户的访问权限。为了防止这种攻击,网站开发人员可以采取一些预防措施。其中之一是在表单或请求中添加一个验证令牌,该令牌仅在客户端和服务器之间传递,并用于验证请求的来源。还可以使用同源策略 (same-origin policy) 来限制网站上的 JavaScript 代码只能与来自同一域的网站通信。

除此之外,使用 HTTPS 也有助于防止 CSRF 攻击,因为它会加密数据传输,并防止攻击者篡改请求。

总之,防范CSRF攻击需要在验证令牌,同源策略和加密传输之间进行平衡,并确保网站具有足够的安全措施来防止未经授权的访问。

另外,设置在请求头的token更加安全,因为它不会被缓存到浏览器或代理服务器的历史记录中,并且在通过 HTTPS 发送的请求中不会被拦截。

将token存储在请求头中,更方便前端进行管理,例如在用户登录或注销时,可以在请求头中直接添加或删除token,而不需要手动管理cookie。

一个具体的例子是,当用户登录成功后,服务器会返回一个JWT(JSON Web Token)。前端可以将JWT存储在请求头的Authorization字段中。

当前端发送请求到后端时,将会在请求头中携带有JWT,后端可以根据这个JWT来验证用户的身份。如果JWT有效,则后端会返回请求的数据,否则返回错误信息。这样,后端就不需要再次验证用户的身份,因为JWT已经验证过了。

这样,前端就可以在每次请求中携带JWT,而不需要在每次请求中都将用户名和密码发送给后端。这样既提高了用户的体验,又提高了系统的安全性。

总之,将token设置到Authorization字段中更安全,方便前端管理,保证了客户端与服务端之间的安全性。

免责声明:本文作者:“游客”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(123)
温柔刺客(温柔刺客是什么意思)
上一篇 2023年11月25日
wm6.5主题(为什么很多人都用UC浏览
下一篇 2023年11月25日

相关推荐

  • 魔林迷踪(逆水寒百变迷踪怎么获得)

    在游戏中首先来到甜水巷,可以看到甜水巷里有一个上锁宝箱,钥匙在旁边的屋子里,也可以直接用金系技能砸开。...

    2023年11月14日
  • 刘亦菲ps(有什么好看的电视剧和小说推荐)

    剧版《遇见王沥川》+小说《沥川往事》,这是一部看过都说电视剧演活了男女主王沥川和谢小秋的良心剧,太多被电视剧毁掉的小说,这简直是IP翻拍剧界的清流了。...

    2023年11月20日
  • 妹型杀器(有哪些堪称神器的工具或软件)

    1.10万+精品模板,终生会员39元的PPT模板网:办公资源网;39元=终生VIP会员=无限下载=10万优质ppt模板+word模板+excel模板+音效模板+在线抠图+ps教程+pr教程+vba教程+课件下载...

    2023年11月21日
  • 集宁打大a(2021中考录取流程详细步骤)

    本次暂不缴纳住宿费,新生注册只是作宿舍统计,等新学期开学,住宿情况落实后再行缴纳,住宿费每学期200元。...

    2023年11月23日
  • 手游武侠游戏(可以推荐几款有意思的武侠手游吗)

    好玩的武侠类手游是一款以武侠为主题的手游,玩家通过角色扮演选择自己喜欢的人物,好玩的武侠类手游非常具有故事性和连续性,所以给玩家的代入感会非常强烈,仿佛自己真的生存在武侠世界一般,十分有趣惊险刺激。如果你也想实现自己的武侠梦,那就快去第一手游...

    2023年11月23日
  • 愤怒的小鸟手机版免费下载(愤怒的小鸟2怎么登录)

    要登录愤怒的小鸟2,首先确保你已经下载并安装了游戏。打开游戏后,你会看到一个登录界面。你可以选择通过Facebook、GooglePlayGames或AppleGameCenter进行登录。如果你已经有一个游戏账号,可以直接输入你的账号和密码...

    2023年11月27日
  • 怀光(诛仙2怀光一用鬼步就触发潜行是怎么回事)

    2重的潜行是非战斗状态下才能用3重又有一个潜行技能可以在战斗下隐身,潜行技能是对高于你等级5级的玩家无效的(5阶潜行的时候)。个人感觉怀光蛮好玩的,主要是新鲜感十足,分身,瞬移,潜行应有尽有,目前我也正在努力升级中~~...

    2023年11月27日
  • ff14跑分(ff14是什么)

    魔法之道的追随者利用各种魔法制品和遗物来召唤并传导他们内在的力量,以及环绕他们自身的以太的能量,从而编织出毁灭性的或治愈性的法术。...

    2023年11月29日
  • 盒子下载(如何下载纳米盒子)

    纳米盒专注学生课内辅导与成长教育,专为小学生及学龄前孩子的家长设计,众多独特的功能体验解决了数十万爸爸妈妈的教育孩子的烦恼,成为“孩子的伙伴,家长的秘书”是纳米盒的理想!...

    2023年12月03日
  • 三国群英传3修改器(三国群英传3怎么刷等级)

    三国群英传3中,直接击落敌方主将所能获得的经验值已经很少特别到了后期,连续击落10名不带兵的武将,也难升1级你可以用ods3on来开启作弊模式(成功,屏幕中央会显示DEBUGON)之后进入百人战画面输入INV0,锁定我方主将的体力与技力然后冲...

    2023年12月04日
返回顶部