关于api:搞懂-API跨域资源贡献-CORS-和安全性问题

37次阅读

共计 1256 个字符,预计需要花费 4 分钟才能阅读完成。

在 Web 利用开发中,API 是应用程序和其余零碎之间进行数据交互的次要形式。

跨域资源共享(CORS)是一种常见的解决跨域申请的技术,但同时也带来了一些安全性问题。我将分享 CORS 技术及其安全性问题。

跨域资源共享(CORS)

CORS 是指在浏览器端实现的机制,容许 Web 应用程序或 API 向不同的域名提供服务。当浏览器发动跨域申请时,服务器能够在响应中增加特定的头信息,告知浏览器该申请是否被容许。上面是一个简略的 CORS 响应头:

Access-Control-Allow-Origin: https://example.com

这条响应头中的 https://example.com 示意只容许来自 https://example.com 的申请拜访以后 API。如果没有配置这个头信息,浏览器会阻止跨域申请,且无奈获取 API 的返回后果。

尽管 CORS 技术不便了 API 的跨域拜访,但同时也带来了一些潜在的网络安全危险。

CORS 安全性问题

1. CSRF 攻打(跨站申请伪造)

CSRF 攻打通常是针对须要登录态的利用场景。攻击者结构一个网页,通过重定向或者其余形式将其发送给用户浏览器,当用户登录了受益网站后,攻击者的想法就得以实现。CORS 正是这种状况的鹰犬,因为 CORS 服务默认不校验申请起源,导致攻击者能够轻易结构申请并携带非法的 session id 等信息。

对于 CSRF 攻打问题,一些赢在了防范措施,例如减少 token 认证等。正确应用 token 认证,在站内逻辑认证的过程中,即便携带 sessionid 等敏感信息,攻击者仍不可能精确模仿一条非法的申请。

2. 权限晋升
如果 API 没有正确地验证跨域申请,攻击者有可能通过 AJAX 申请批改某些内容或数据偷取敏感信息。例如,一个具备某项管理权限的 Web 页面被注入了歹意 JavaScript 代码,并发送了跨域攻打申请,则攻击者可能拜访到其余模块中窃密内容,并进行操作。

防备 CORS 安全性问题

  1. 端口绑定同源策略:配置 Web 应用程序或 Web 服务器只监听本地端口、本地 IP 地址或特定域名,从而确保网络申请只会来自受信赖的浏览器或应用程序。
  2. 减少 CORS 攻打屏蔽策略:减少 referer 校验、查看 HTTP 头信息中的申请者和申请域名是否统一等。
  3. 应用 token 认证:正确应用 token 认证,零碎能够在站内逻辑认证的过程中进行校验,针对内部攻打申请时,token 就会有效。

CORS 技术尽管便当了 API 的跨域拜访,然而也带来了一些安全性问题。为了防止潜在的网络安全问题,开发者须要认真扫视以后 Web 应用程序的安全性,并且采取有效的平安防范措施。

如果你日常会用到 api 管理工具的话,无妨看看我目前参加的这个开源我的项目,Postcat 开源的 API 管理工具,纯国产,收费的,主打插件生态,适宜中小团队以及集体开发者应用,有 API 相干的外围性能。

目前在 Github 上 3.5 k star, 如果你感觉这个我的项目还不错的话,无妨点个 star 反对一下~

Github:
https://github.com/Postcatlab/postcat

正文完
 0