是" Cookie"字段与http标头不同

时间:2016-06-07 10:47:29

标签: rest http cookies

我有点意外,之前没有问过这个问题,但目前我们正在使用服务器端渲染的项目,我们需要在初始加载时调用我们经过验证的API。

为了以经过身份验证的方式获取数据,我们需要从服务器端发送Cookie,并在我设置标头Cookie时执行此操作,

fetch(`${ API_SERVER }`, {
     headers: {
        Accept: 'application/json',
        Cookie: 'User-Session-Token=' + cookie,
     },
     credentials: 'include',
}

一切正常。只是想检查是否存在这可能导致的任何安全相关问题,因为浏览器不是发送它而是我们手动执行。

1 个答案:

答案 0 :(得分:-2)

Cookie首先由服务器设置,然后浏览器会在每个请求中将其发送回该域。 如果cookie不打算被任何脚本使用,您可以将其设置为“HttpOnly”cookie,这将保护您免受跨站点脚本(XSS)的攻击。

Set-Cookie: <name>=<value>[; <Max-Age>=<age>]
[; expires=<date>][; domain=<domain_name>]
[; path=<some_path>][; secure][; HttpOnly]

但是,cookie仍然容易受到跨站点跟踪(XST)和跨站点请求伪造(XSRF)攻击的攻击。<​​/ p>

用于担保索赔时,Cookie已被json网络令牌取代。

“JSON Web令牌是一种开放的,行业标准的RFC 7519方法,用于在双方之间安全地表示索赔。”

请参阅:

https://jwt.io/