浏览器禁用cookie的后果与解决方案

浏览器禁用Cookie的后果

服务器在默认情况下,会使用Cookie的方式将sessionID发送给浏览器,如果用户禁止Cookie,则sessionID不会被浏览器保存,此时,服务器可以使用如URL重写这样的方式来发送sessionID。

 

使用URL重写来解决

浏览器在访问服务器上的某个地址时,不再使用原来的那个地址,而是使用经过改写的地址(即在原来的地址后面加上了sessionID)。

实现URL重写

response.encodeRedirectURL(String url)生成重写的URL。

HttpSession session = req.getSession();
String url = "http://localhost:8080/fail?username=" + URLEncoder.encode(username, "UTF-8");
url = resp.encodeRedirectURL(url);
resp.sendRedirect(url);

encodeURL () :表单提交和超链接的URL重写

encodeRedirectedURL () :重定向的URL重写

如果客户端浏览器禁用cookie,会自动重写url且连接后面有jsessionid

image-20220731110017655

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。 (b)后端服务器处理完请求,将响应数据返回给nginx。 (c)此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash值 (d)客户端接收请求,并保存带route的cookie。 (e)当客户端下一次发送请求时,带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。 其他需要注意的 (a)同一客户端的请求,有可能落在不同的后端服务器上。如果客户端启动时同时发起多个请求。由于这些请求都没带cookie,所以服务器随机选择后端服务器,返回不同的cookie。当这些请求中的最后一个请求返回时,客户端的cookie稳定下来,值以最后返回的cookie为准。 (b)cookie不一定生效。由于cookie最初由服务器端下发,如果客户端禁用cookie,则cookie生效。 (c)客户端可能不带cookie。Android客户端发送请求时,一般不带上所有的cookie,需要明确指定哪些cookie带上。如果希望用sticky做负载均衡,请对Android开发说加上cookie。 (d)cookie名称不要和业务使用的cookie重名。Sticky默认的cookie名称是route,可以改成任何值。 (e)客户端发的第一个请求是不带cookie的。服务器下发的cookie,在客户端下一次请求时才能生效。 (f)Nginx sticky模块不能与ip_hash同时使用 sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback] [secure] [httponly]; [name=route] 设置用来记录话的cookie名称 [domain=.foo.bar] 设置cookie作用的域名 [path=/] 设置cookie作用的URL路径,默认根目录 [expires=1h] 设置cookie的生存期,默认不设置,浏览器关闭即失效,需要是大于1秒的值 [hash=index|md5|sha1] 设置cookie中服务器的标识是用明文还是使用md5值,默认使用md5 [no_fallback] 设置该项,当sticky的后端机器挂了以后,nginx返回502 (Bad Gateway or Proxy Error) ,而不转发到其他服务器,不建议设置 [secure] 设置启用安全的cookie,需要HTTPS支持 [httponly] 允许cookie不通过JS泄漏,没用过
保护您的隐私并控制您的数据。 Privowny App是私人Beta版,仅应邀请即可使用。 我们非常希望您加入我们的Beta社区,因此,如果您想收到邀请,请访问beta.privowny.com并加入我们的候补名单。 我们尽快与您联系! 我们的Chrome浏览器扩展程序(也可用于Firefox)使您可以轻松地:•创建,加密和管理满足所有登录需求的强密码,因此您无需重复使用和记住无数的弱密码。 •创建电子邮件别名以用于特定(临时或非临时)目的,以减少垃圾邮件并可能防止身份盗用。 当您不需要公开真实ID时,它可以让您管理匿名级别。 您可以随时阻止或删除它们。 •批量或有选择地阻止cookie /跟踪器,以保护您的隐私并显着加快浏览速度。 •访问在浏览Internet时留下的个人数据,因此您可以管理网站知道的有关您的信息,以便在方便时使用此信息(通过快速填写表格)或将其全部删除。 •深入了解您的数字生活。 借助我们的仪表板,您将通过有洞察力的指标和月度报告来查看自己在数字世界中的表现。 此外,如果您下载我们随附的移动应用程序(适用于Android和iOS设备),则可以通过智能手机随时随地应用相同的最佳做法。 v.1.12.0中的新增功能(有关更多详细信息,请访问我们的帮助中心)-在整个产品中(尤其是在工具栏和仪表板的图形中)添加了更多的工具提示,以确保清晰度和更好的可访问性。 -现在,为了确保最大程度的安全性,复制到剪贴板的密码在几分钟后被丢弃。 -用户现在可以选择特定的时间段,以在仪表板中查看其统计信息。 为“数据量”和“我的数字足迹”图添加了一个下拉菜单。 -从设置中删除了禁用通知的可能性,询问用户是否要在其密码管理器中保存帐户。 该许可很容易逐个拒绝,并且每次被询问以免忘记该功能处于活动状态是很有用的。 显着的错误修复-密码管理器中无法搜索包含“ *”的密码。 已修复。 -密码管理器中少于4个字符的凭据无法保存。 此问题已得到解决,不再是限制。 -即使从主菜单或工具栏中的复选标记图标打开了管理器,数据管理器中的过滤器现在也可以正常工作。 -有时打开数据管理器。 加载过程已得到改进,并且不无限期地进行下去。 -Alias Manager中的多标准搜索已中断。 现在,它可以按预期工作。 -检索以下网站的凭据并非总是可以正常工作,但现在已修复:payfit.com,cnet.com,store.cnn.com。 -Smartfield图标在以下网站上遇到问题:etsy.com,expedia.com,my.foxnews.com,atelierdeschefs.fr。 现在,它可以按预期工作。 -多个网站的“ Smartfield图标”下拉菜单不正确。 菜单的相关性取决于上下文,已得到极大改善。 -密码管理器教程流程中的指导工具提示有时出现在不应显示的位置。 此问题已解决。 -改进了用户界面,现在显示了更多的公司图标,解决了滚动问题,并解决了裁剪或重叠文本的问题。 我们的愿景通过开发这套工具,我们旨在为数字身份难题提供全面的解决方案。 我们希望证明您可以充分利用数字生活,而不必放弃您的隐私,安全或安心。 虽然在许多行业中,从人们的数据中销售和赚钱是一种普遍的做法,但我们却没有。 我们认为人们的数据是他们认为合适的资产。 我们致力于利用最先进的技术(包括领先的数据加密技术)来确保人们的数字身份和敏感数据的安全并受到他们的控制。 换句话说:您(只有您自己)可以清楚地看到您的加密数据。 现在开始控制您的在线隐私。 我们的隐私政策反映了我们的价值观。 我们鼓励您阅读文档以了解有关我们的服务政策和隐私权承诺的更多信息。 支持语言:English,Français

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值