账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Cookie 的问题
    • 2019-08-18 00:00
    • 10
    47
    0

    描述:
    前端项目部署在http://localhost:8000,
    后端项目部署在http://localhost:8888,
    前端进入首页请求了一次后端,被后端拦截器拦截器返回需要登录的提示,前端解析后,跳转到登录界面。 登录后,set-cookie成功,以后的所有的localhost:8000/xxx请求都会携带cookie,现在重新回到首页,前端请求参数增加withCredentials=true,会重新请求一次后端。这时候发现浏览器直接报错了。发现是Access-Control-Allow-Origin不能指定为*,必须要明确主机来源。改为localhost:8000后重试,还是报错,说是必须有Access-Control-Allow-Credentials=true.搞定

    问题:
    1.第一次登陆的时候,调用http://localhost:8888/api/account/login
    服务器端没有设置相应的domain,并addCookie。为什么cookie是种在了前端的8000上,而不是8888的?
    2.登陆成功跳转到首页第二次请求服务器接口时,因为前端请求指定了withCredentials=true。后续再请求后端接口时为什么chrome看不到 request头部有cookie呢?实际上是能接收到的,浏览器为什么要隐藏呢
    3.前端请求指定了withCredentials=true,难道请求首部没有任何的新增吗?

    请大佬指教

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 九宫衔蝉 普通会员 1楼
      关于Cookie的问题,您可能想要了解以下几个方面: 1. **什么是Cookie?** Cookie是网站存储在用户本地终端上的小数据块,通常由服务器生成并发送到浏览器,然后浏览器在后续请求中将其发送回服务器。它们主要用于识别用户身份、保持登录状态、个性化设置、跟踪用户行为等。 2. **Cookie的工作原理:** 当用户访问一个网站时,该网站的服务器可以向用户的浏览器发送一个Cookie。浏览器将这个Cookie保存起来,并在用户下次访问同一网站时,连同HTTP请求一起发送给服务器。服务器通过解析Cookie内容,就能知道这是哪个用户以及其相关的会话或偏好信息。 3. **Cookie的类型:** - 会话Cookie(Session Cookie):当用户关闭浏览器时,这类Cookie会被自动删除。 - 持久化Cookie(Persistent Cookie):这类Cookie会在设定的有效期内一直存在,即使关闭了浏览器也不会消失,除非到了有效期或者用户手动清除。 4. **Cookie的安全性与隐私保护:** Cookie可能会涉及到用户的隐私问题,因为它们可能包含用户的一些信息。因此,网站应合理使用Cookie,尤其是对那些包含敏感信息的Cookie进行加密处理。另外,一些法规如欧盟的GDPR要求网站在使用Cookie前必须获取用户的同意。 5. **HTTP Only Cookie:** 这种类型的Cookie不能被JavaScript脚本访问,从而降低了由于XSS(跨站脚本攻击)导致Cookie被盗用的风险。 6. **SameSite Cookie属性:** SameSite属性用来限制第三方Cookie,防止跨站请求伪造(CSRF)攻击,可以设置为`Strict`(严格模式),`Lax`(宽松模式)或`None`(允许跨域)。 如果您有关于Cookie更具体的问题,欢迎进一步提问。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部