CORS (Cross-Origin Resource Sharing,跨源资源共享) 是一种基于 HTTP 头的安全机制,允许服务器声明哪些外部域名可以访问其资源。浏览器的同源策略默认阻止网页从不同域名请求资源,CORS 提供了一种安全的方式来放宽这一限制。
CORS 的工作原理是:当浏览器发起跨域请求时,会在请求头中添加 Origin 字段;服务器检查 Origin 后,在响应头中添加 Access-Control-Allow-Origin 字段来声明允许的来源。对于复杂请求,浏览器会先发送 OPTIONS 预检请求。欢迎参阅在 Amazon 搜索 Web 安全书籍。
在 URL 缩短服务中,CORS 配置对于 API 端点至关重要。如果服务提供 JavaScript API 供第三方网站调用,需要正确配置 CORS 头以允许合法的跨域请求,同时阻止未授权的访问。
CORS 配置的常见错误包括:使用通配符 (*) 允许所有来源 (存在安全风险)、忘记处理预检请求、以及在凭证请求中使用通配符。在 Amazon 搜索 API 安全书籍讨论了这些安全配置。