首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HTTPS安全最佳实践

HTTPS对于保护网站至关重要。但是你还需要避免许多陷阱 1. 没有混合内容 混合内容是指在你HTTPS站点中不能通过HTTP加载资源了。...获得有关新证书通知 添加最近颁发证书过程就是所谓证书透明度,这意味着无论何时域名发布证书时,都必须将其提交给公共日志,实际上,你可以查看你域所有证书。...(2)使用安全cookie 任何未标记为安全 cookie 都可以通过HTTP和HTTPS发送,反过来,攻击者可以使用它来模仿HTTPS站点上用户。 确保使用安全cookie。 6....浏览器遵循重定向,但API客户端可能不会,或者可能将POST重定向GET。你不希望某些客户端工作,而某些客户端则不工作。 此外,对于API客户,你提供方案是让任何消费者只可以使用HTTPS。...请注意,如果你域名设置这个选项,又无法所有子域设置支持HTTPS,唯一办法是等待所有用户浏览器标头过期,但这可能需要很长时间。

1.7K30

cookie和token

基于cookie身份验证 cookie是源自站点并由浏览器存储在客户计算机上简单文件。它们通常包含一个名称和一个值,用于将客户端标识对站点具有特定许可权特定用户。...公共声明:这些可以用使用JWT的人随意定义。...但是为了避免冲突,应在在IANA JSON WEB令牌注册表中定义它们,或者将其定义包含防冲突命名空间URI。 私有声明:这些是为了在同意使用它们各方之间共享信息而创建自定义声明。...这样可以完全依赖无状态数据API,甚至可以向下游服务发出请求。API作用域并不重要,因此跨源资源共享(CORS)不会是一个问题,因为它不使用Cookie。 整个流程如下图: ?...这使得使用JWT比SAML断言更容易。 从使用平台来说,JWT在Internet规模上使用。这突出了客户端处理多个平台上特别是移动平台上JSON Web令牌便利性。

2.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

5个REST API安全准则

cookie或内容参数发送,以确保特权集合或操作得到正确保护,防止未经授权使用。...(4)防止跨站点请求伪造 对于RESTful Web服务公开资源,重要是确保任何PUT,POST和DELETE请求都受到防止跨站点请求伪造保护。 通常,使用基于令牌方法。...因为典型响应类型有许多MIME类型,所以重要客户端特别记录应该使用哪些MIME类型。...4 - 加密 (1)传输中数据 除非公共信息是完全只读,否则应强制使用TLS,特别是在执行凭证更新、删除和任何事务操作时。...TLS开销在现代硬件上是可以忽略,具有微小延迟增加,其对于最终用户安全性得到更多补偿。 考虑使用相互认证客户端证书高度特权Web服务提供额外保护

3.7K10

5步实现军用级API安全

OAuth 以使用称为访问令牌 API 消息凭据来保护数据中心。此令牌由称为授权服务器专用安全组件颁发。访问令牌旨在根据业务权限锁定,并由授权服务器加密签名。...它还可以在 API 请求期间执行令牌转换,以将从客户端发送不透明令牌或 cookie 转换为 JWT 访问令牌。...防止这种情况,请尽可能使用持有证明令牌。一种常见用例是向业务合作伙伴提供 API。...然后,实用程序 API 会代表其 SPA 颁发 Cookie,而不会对您 Web 架构产生不利影响。 在 OAuth 架构中,客户端通过运行 OAuth 流程来获取访问令牌。...目前一个担忧是,它们通常无法安全地存储客户端凭据,因此它们通过遵循 RFC 8252 中发布 OAuth for Native Apps 作为 OAuth 公共客户端运行。

8210

使用 OAuth 实现大型网站现代化 5 个步骤

公司提供了最先进选择,可以使用一种或多种身份证明来验证用户。它还有助于根据业务规则保护 API数据。 在这篇文章中,我不会详细介绍安全标准。...Web 后端还必须管理许多 API 路由。 开发人员可能知道如何将大型代码库重构多个应用程序。但是,这样做还需要更改 Web 后端部署和 cookie 安全性。...因此 SPA 需要应用程序级 cookie 层。 对于受 OAuth 保护 SPA,集成 cookie 最主流方式是通过前端定制后端 (BFF)。...因此,此应用程序继续使用服务器端呈现 (SSR) 来同时返回 HTML 和公共数据。它可以暴露在不需要 cookie 网关路径上。...一旦 WebAPI 问题分离,您可能不再需要 Web 组件网关或 cookie。相反,可以使用内容分发网络 (CDN)。

8710

Session、Cookie、Token三者关系理清了吊打面试官

信息,该 Cookie 过期时间浏览器会话结束; 2.jpg 接下来客户端每次向同一个网站发送请求时,请求头都会带上该 Cookie信息(包含 sessionId ), 然后,服务器通过读取请求头中...虽然这是合法,因为它们是在客户端上存储数据唯一方法,但如今建议使用现代存储 APICookie 随每个请求一起发送,因此它们可能会降低性能(尤其是对于移动数据连接而言)。...即使是安全,也不应该将敏感信息存储在cookie 中,因为它们本质上是不安全,并且此标志不能提供真正保护。...registered 声明: 包含一组建议使用预定义声明,主要包括 8.png public 声明:公共声明,可以添加任何信息,一般添加用户相关信息或其他业务需要必要信息,但不建议添加敏感信息...private 声明:自定义声明,旨在在同意使用它们各方之间共享信息,既不是注册声明也不是公共声明。

2K20

构建现代Web应用安全指南

最常用框架已经给了你一些保护(例如,CSRF保护,Security头),如果你正在写PHP,直接使用它们就好了。...实际上,恕我直言,HTTPOnly应该是默认属性才对,non-httponly只有在异常中才使用。没有这个标识cookie仅能用于客户端访问,例如一个根据用户偏好显示或隐藏菜单标识符。...在你API中放置CSRF保护Web框架通常建议你使用CSRF保护,当你构建API时,看到“请求中缺少CSRF token”消息时,你一般会禁用它之后继续编码。不要那么做。...忘记密码和电子邮件确认token:忘记密码或电子邮件确认生成一个token时,请确保使用安全伪随机数生成器(RPNG),否则可能被猜到。使用可以信任库/语言API。...还值得仔细观察是HATEOAS。它使各部分之间可视化隔离变得容易。客户端是静态页面,服务器是接收输入和前端产生输出大脑。它能更明确地分离角色和记录,例如web服务器必须验证输入。

1K80

看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了

过期时间浏览器会话结束。...虽然这是合法,因为它们是在客户端上存储数据唯一方法,但如今建议使用现代存储 APICookie 随每个请求一起发送,因此它们可能会降低性能(尤其是对于移动数据连接而言)。...即使是安全,也不应该将敏感信息存储在cookie 中,因为它们本质上是不安全,并且此标志不能提供真正保护。...public 声明:公共声明,可以添加任何信息,一般添加用户相关信息或其他业务需要必要信息,但不建议添加敏感信息,因为该部分在客户端可解密。...private 声明:自定义声明,旨在在同意使用它们各方之间共享信息,既不是注册声明也不是公共声明。

1.1K20

分享一篇详尽关于如何在 JavaScript 中实现刷新令牌指南

访问令牌用于访问受保护资源,例如 API,而刷新令牌用于在当前访问令牌过期时获取新访问令牌。 当 JWT 用作访问令牌时,它通常使用用户声明和令牌过期时间进行编码。...OAuth 2.0 和 JWT 可以一起用于 Web 和移动应用程序创建安全高效授权系统。...公共声明:这些可以由使用 JWT 的人随意定义。但为了避免冲突,它们应该在 IANA JSON Web 令牌注册表中定义,或者定义包含防冲突命名空间 URI。...客户端将令牌存储在本地存储中或作为仅 HTTP 安全 cookie客户端在每个访问受保护资源请求中发送访问令牌。 当访问令牌过期时,客户端将刷新令牌发送到认证服务器以获取新访问令牌。...如果刷新令牌有效且未过期,则身份验证服务器会颁发具有新过期时间新访问令牌。 身份验证服务器将新访问令牌发送给客户端客户端存储新访问令牌并继续使用它来访问受保护资源。

23030

《图解 HTTP》 阅读摘要

以 HTTP 例,一次通信过程 首先作为发送端客户端在应用层(HTTP 协议)发出获取 Web 页面的 HTTP 请求 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到数据(HTTP...指定报文主体传输编码方式 Upgrade 升级其他协议 Via 代理服务器相关信息 Warning 错误通知 请求首部字段 从客户端向服务器端发送请求报文时使用首部。...6.6 Cookie 服务首部字段 首部字段名 说明 首部类型 Set-Cookie 开始状态管理所使用Cookie信息 响应首部字段 Cookie 服务器接收到Cookie信息 请求首部字段...通常攻击步骤 攻击者诱使用户触发已设置好陷阱,而陷阱会启动发送已嵌入攻击代码 HTTP 请求。 当用户不知不觉中招之后,用户浏览器或邮件客户端就会触发这个陷阱。...攻击者在得知该 Web 网站存在可跨站攻击 XSS 安全漏洞后,就设置好用 JavaScript 脚本调用 document.cookie 以窃取 Cookie 信息陷阱,获取含有会话 ID Cookie

61020

Session、Cookie、Token 【浅谈三者之间那点事】

信息,该 Cookie 过期时间浏览器会话结束; 接下来客户端每次向同一个网站发送请求时,请求头都会带上该 Cookie信息(包含 sessionId ), 然后,服务器通过读取请求头中 Cookie...虽然这是合法,因为它们是在客户端上存储数据唯一方法,但如今建议使用现代存储 APICookie 随每个请求一起发送,因此它们可能会降低性能(尤其是对于移动数据连接而言)。...但是,Web 浏览器可能会使用会话还原,这会使大多数会话 Cookie 保持永久状态,就像从未关闭过浏览器一样。...即使是安全,也不应该将敏感信息存储在cookie 中,因为它们本质上是不安全,并且此标志不能提供真正保护。...private 声明:自定义声明,旨在在同意使用它们各方之间共享信息,既不是注册声明也不是公共声明。

19.5K2020

JSON WEB TOKEN (JWT)

JSON WEB TOKEN JSON WEB TOKEN简称为JWT,是一个基于JSON开放标准,用于通信双方之间传递安全信息简洁、URL安全表述性声明规范,经常用于身份验证。...,这里可以存放主体数据信息,Payload包含三个部分,标准中注册声明、公共声明、私有的声明 标准中注册声明 (建议但不强制使用) iss: jwt签发者 sub: jwt主题 aud: jwt接收者...,但是不建议添加敏感信息,因为公共声明部分可以在客户端解密,除非此信息是加密。...,易于拓展 可以预防CSRF攻击,由于使用JWT一般放置于请求头Authorization: Bearer ${JWT}字段中而不使用Cookie可以有效防止CSRF攻击 payload部分可以存储一些其他业务逻辑所必要非敏感信息...,JWT是一种认证协议,用于前后端分离用户认证以及后端API保护 缺点 一旦签发无法更新,如果想更新数据或者续签,必须重新签发 无法废弃,在JWT设置过期时间到达之前,JWT始终有效 Payload

49910

OAuth 详解 什么是 OAuth?

SAML SAML 基本上是您浏览器中一个会话 cookie,可让您访问网络应用程序。它在您可能希望在 Web 浏览器之外执行设备配置文件类型和场景方面受到限制。...它们在最终用户无法访问保护区域中运行。 公共客户端是浏览器、移动应用程序和物联网设备。 图片 客户端注册也是 OAuth 一个关键组成部分。这就像 OAuth DMV。...客户端应用程序使用机密客户端凭据和客户端 ID 向授权服务器上令牌端点发送访问令牌请求。此过程将授权代码授予交换访问令牌和(可选)刷新令牌。客户端使用访问令牌访问受保护资源。...没有后端服务器访问令牌兑换授权许可。SPA 是此流程用例一个很好示例。此流程也称为 2 Legged OAuth。 隐式流针对仅限浏览器公共客户端进行了优化。...它通常不支持刷新令牌,并且假定资源所有者和公共客户端在同一台设备上。当您有一个只想使用 OAuth API,但您有老派客户要处理时。

4.4K20

开发中需要知道相关知识点:什么是 OAuth?

SAML SAML 基本上是您浏览器中一个会话 cookie,可让您访问网络应用程序。它在您可能希望在 Web 浏览器之外执行设备配置文件类型和场景方面受到限制。...它们在最终用户无法访问保护区域中运行。 公共客户端是浏览器、移动应用程序和物联网设备。 客户端注册也是 OAuth 一个关键组成部分。这就像 OAuth DMV。您需要为您申请获得牌照。...客户端应用程序使用机密客户端凭据和客户端 ID 向授权服务器上令牌端点发送访问令牌请求。此过程将授权代码授予交换访问令牌和(可选)刷新令牌。客户端使用访问令牌访问受保护资源。...没有后端服务器访问令牌兑换授权许可。SPA 是此流程用例一个很好示例。此流程也称为 2 Legged OAuth。 隐式流针对仅限浏览器公共客户端进行了优化。...它通常不支持刷新令牌,并且假定资源所有者和公共客户端在同一台设备上。当您有一个只想使用 OAuth API,但您有老派客户要处理时。

21640

超越Cookie,当今客户端数据存储技术有哪些

由于 HttpOnly 标志 XSS 攻击添加了额外保护层,SameSite 可以防止 CSRF,而 Secure 可以确保你 cookie 被加密,这使你身份验证token 有额外保护层。...前面经讨论了要使用 cookie 原因,现在来看看你可以如何使用 cookie。要从服务器上给客户端设置 cookie,需要在 HTTP 响应中添加 Set-Cookie 标头。...Cookie 也可以由客户端操纵。要设置 cookie,可以用 key=value 格式 document.cookie 赋值。如果 key 已存在,则会被覆盖掉。...虽然 cookie 通常处理 server/client 通信,但 Web Storage API 最适用于保存客户端数据。...所以你可以用 Web Storage API 存储比 cookie 更大量数据。 另一个优点是更直观 API。如果使用 cookie,你需要手动解析 cookie 字符串来访问各个键。

3.9K30

权限与认证:JWT

JWT 中声明被编码 JSON 对象,该 JSON 对象被用作 JSON Web 签名(JWS)结构有效负载,或 JSON Web 加密(JWE)结构明文,使得声明要求能够被数字签名或用消息认证码...2)Public claims - 公共声明 这些可以由使用 JWT 的人随意定义。...3)Private claims - 私有声明 这些是在同意使用它们各方之间共享信息而创建自定义声明,既不是注册声明,也不是公共声明。...应用或客户端向授权服务器请求获取授权; 当授权被授予以后,授权服务器返回给应用一个访问 token; 应用使用 access token 访问被保护资源(例如 API)。...JWT 适用于在前后端分离, 需要简单对后台 API 进行保护使用。更复杂场景,例如使用第三方账号登录情况,基于 OAuth2 框架更为合适。

57530

图解HTTP

no-store:暗示请求(和对应响应)或响应中包含机密信息 s-maxage:与max-age不同是只适用于供多倍用户使用公共缓存服务器,直接忽略Expires及max-age max-age...10.Last-Modified:指明资源最弱修改时间 G.Cookie服务首部字段 1.Set-Cookie expires:指定浏览器可发送Cookie有效期 path:用于限制指定Cookie...Web网站上个人隐私变成一种仅供程序可理解嘎啊,以达到保护用户隐私目的 七、确保Web安全HTTPS A.HTTP缺点 1.通信使用明文(不加密),内容可能会被窃听 TCP/IP是可能被窃听网络...首部、Cookie等途径 3.针对Web应用攻击模式 以服务器目标的主动攻击(active attack)指攻击者通过直接访问Web应用,把攻击代码传入攻击模式 以服务器目标的被动攻击(passive...HTML标签或JS一种攻击 XSS攻击是攻击者利用预先设置陷阱触发被动攻击 对用户Cookie窃取攻击 2.SQL注入攻击(SQL Injection)指针对Web应用使用数据库,通过运行非法

1K20

JWT — JWT原理解析及实际使用

公共声明 : 公共声明可以添加任何信息,一般添加用户相关信息或其他业务需要必要信息.但不建议添加敏感信息,因为该部分在客户端可解密。...下图为一个JWT生成流程示例: 3、jwt认证流程 在身份验证中,当用户成功登录系统时,授权服务器将会把 JSON Web Token 返回给客户端,用户需要将此凭证信息存储在本地(cookie或浏览器缓存...以访问 API 资源例,下图显示了获取并使用 JWT 基本流程: 4、集成和使用说明 添加依赖: io.jsonwebtoken</groupId...1、 使用 JWT 优势 使用 JSON Web Token 保护应用安全,你至少可以获得以下几个优势: 更少数据库连接:因其基于算法来实现身份认证,在使用 JWT 时查询数据次数更少(更少数据连接不等于不连接数据库...服务端无法主动推送消息:服务端由于是无状态,他将无法使用像 Session 那样方式推送消息到客户端,例如过期时间将至,服务端无法主动用户续约,需要客户端向服务端发起续约请求。

7.9K122

权限与认证:JWT

JWT中声明被编码JSON对象,该JSON对象被用作JSON Web签名(JWS)结构有效负载,或JSON Web加密(JWE)结构明文,使得声明要求能够被数字签名或用消息认证码(MAC)与/或加密完整性保护...2)Public claims - 公共声明 这些可以由使用JWT的人随意定义。...3)Private claims - 私有声明 这些是在同意使用它们各方之间共享信息而创建自定义声明,既不是注册声明,也不是公共声明。...; 当授权被授予以后,授权服务器返回给应用一个访问token; 应用使用access token访问被保护资源(例如API)。...JWT适用于在前后端分离, 需要简单对后台API进行保护使用。更复杂场景,例如使用第三方账号登录情况,基于OAuth2框架更为合适。

1.5K00

超越 Cookie:当今浏览器端数据存储方案

由于 HttpOnly 标志 XSS 攻击添加了额外保护层,SameSite 可以防止 CSRF,而 Secure 可以确保你 cookie 被加密,这使你身份验证token 有额外保护层。...前面经讨论了要使用 cookie 原因,现在来看看你可以如何使用 cookie。要从服务器上给客户端设置 cookie,需要在 HTTP 响应中添加 Set-Cookie 标头。...Cookie 也可以由客户端操纵。要设置 cookie,可以用 key=value 格式 document.cookie 赋值。如果 key 已存在,则会被覆盖掉。...虽然 cookie 通常处理 server/client 通信,但 Web Storage API 最适用于保存客户端数据。...所以你可以用 Web Storage API 存储比 cookie 更大量数据。 另一个优点是更直观 API。如果使用 cookie,你需要手动解析 cookie 字符串来访问各个键。

1.2K30
领券