云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

天翼云_魔道祖师百度云_企业级

小七 141 0

缓存私有内容和API的令牌身份验证

在努力使互联网成为一个更好的地方的同时,我们还希望让我们的客户更容易控制他们的内容和api,以及谁可以访问它们。使用Cloudflare的令牌身份验证功能,客户可以通过URL令牌或HTTP请求头实现访问控制,而不必构建复杂的后端系统。Cloudflare将在边缘检查这些令牌,然后将任何请求中继到源服务器或从缓存中提供服务。如果令牌无效,请求将被阻止。因为Cloudflare处理所有令牌验证,所以源服务器不需要有复杂的身份验证逻辑。此外,试图伪造令牌的恶意用户将被阻止到达源站。zeevveez的CC BY 2.0图像利用我们由100多个数据中心组成的边缘网络,客户可以使用令牌身份验证对内容和API执行访问控制检查,并允许Cloudflare缓存私有内容,并且只向具有特定于缓存资产的有效令牌的用户提供这些内容。在边缘执行访问控制有很多好处。对私有资产的暴力尝试和其他攻击永远不会到达源服务器,从而防止源CPU和带宽被恶意请求浪费。通过在边缘执行身份验证,可以缓存受保护的内容,从而让用户更快地访问私有内容,因为身份验证不需要往返于源站。同时,web应用程序所有者可以确保只有经过身份验证的有效用户才能访问缓存内容。通过验证API请求是否来自有效客户端,Cloudflare能够消除来自机器人程序、攻击者或未经身份验证的用户的伪造请求。内容访问控制许多互联网应用程序没有为资产,特别是静态资产,如图像、PDF、zip文件、应用程序、电子书和其他可下载内容构建访问控制功能。为此构建一个访问控制层可能很困难而且成本高昂。我们与许多客户合作解决了以下问题:网站向注册用户提供可下载的静态内容;但是,用户倾向于在社交媒体平台上共享/发布该内容的链接;一个网站提供可下载的静态内容,但爬虫和爬虫总是试图找到/获取/寻找可用的链接;访问控制系统已经到位,但客户希望在边缘缓存内容,以获得更好的用户体验和减少带宽开销;一个网站想生成一个有过期时间的链接;对主应用程序外部托管的特定资源的访问需要受到限制和限制。API保护今天,大多数应用程序都是连接到因特网上基于HTTP的api的客户端软件。保护这些api不被恶意使用是很重要的,因为可以编写客户端软件,例如bot,绕过原始应用程序直接与api对话。这可能导致API服务器上的滥用和不必要的负载。Cloudflare的令牌身份验证可用于验证API请求是否来自有效用户、客户端或边缘上的移动设备。Cloudflare将过滤掉未经身份验证或伪造的请求,而不会将它们传递给原始API服务器。与Cloudflare的速率限制和WAF一起,具有Internet API的移动应用程序可以在远离原始API服务器的边缘受到保护。Cloudflare的令牌身份验证解决方案令牌身份验证利用令牌来验证用户是否有权访问特定资源。令牌可以作为URL参数或HTTP报头发送。令牌是由以下内容生成的HMAC:Cloudflare与web应用程序或移动应用程序之间共享的秘密;资源或API的路径;Unix纪元时间戳;潜在的可选附加参数(例如IP地址、cookie值、用户名);Cloudflare边缘验证令牌并根据结果允许或不允许访问。生成的HMAC也可以配置为在特定时间(例如10分钟)后过期,或者直接从源服务器控制到期。在后一种情况下,生成的url只包含一个绝对的未来Unix时间戳。使用令牌身份验证保护私有内容在最简单的实现中,令牌可用于保护静态私有内容。后端应用程序所需的代码如下(在PHP中):上面的代码,给出了一个共享的秘密:生成当前时间戳;通过将时间戳与以破折号-分隔的加密哈希连接来生成令牌;加密散列是一个基于SHA256的HMAC,它是从与时间戳连接的受限资产的相对路径生成的。哈希的密钥是共享秘密;哈希是base64编码的,随后是URL编码的;最后,只需将生成的令牌添加到查询字符串中,就可以生成到私有资产的URL。令牌HTTP GET参数名是可自定义的。一旦部署,身份验证规则就可以在Web应用程序防火墙自定义用户规则集包下使用。从这里可以配置模拟、质询或阻止或完全停用规则:一旦激活并且用户试图在没有有效令牌的情况下访问受限资源,Cloudflare将显示默认的WAF块页面,如下所示:块页可以完全定制,以匹配客户的品牌。带令牌身份验证的API请求在更高级的实现中,令牌也可用于执行API身份验证:用户使用标准认证方法(如用户名和密码)请求访问;源服务器验证访问并向客户端提供令牌。令牌是特定于用户的;客户端存储令牌,并将其包含在对API端点的任何后续请求中;Cloudflare边缘在每个请求上验证令牌。如果令牌丢失或无效,请求被拒绝;令牌可以配置为在一段时间后过期,如有必要,强制客户端向源服务器重新验证。为API端点使用令牌有许多好处:不存储会话信息,因此更容易扩展应用程序;令牌有助于防止CSFR攻击,因为每个请求都需要令牌;能够选择性地访问第三方应用程序;降低API服务器的负载。仅允许从Cloudflare IP范围访问API服务器将确保用户无法绕过令牌身份验证。此外,对于API端点,可以将Cloudflare配置为生成与API规范兼容的自定义JSON响应。使用令牌身份验证验证移动应用大多数移动应用程序利用基于HTTP的API端点为最终用户提供动态功能。用于生成令牌的共享机密可以嵌入并加密在本机移动应用程序中,从而提高对移动应用程序API端点的保护,并确保仅允许来自合法客户端的请求访问底层API。结论如果您能够遵循默认的Cloudflare参数格式,并且提前知道到期时间,则可以在业务计划中使用令牌身份验证。我们的支持团队能够根据要求提供实施细节。如果这是不可能的,或者如果您正在寻找额外的逻辑和/或自定义行为,请联系我们并询问我们的企业计划和参考令牌认证。