Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

防止跨站点请求伪造(CSRF)

贡献者

您可以通过使用 CSRF 令牌增强使用 Cookie 的身份验证,帮助防止 StorageGRID 受到跨站点请求伪造( CSRF )攻击。网格管理器和租户管理器会自动启用此安全功能;其他 API 客户端可以选择在登录时是否启用此功能。

如果攻击者可能触发对其他站点的请求(例如使用 HTTP 表单发布),则可以对使用已登录用户的 cookie 发出的某些请求进行发生原因 处理。

StorageGRID 可通过使用 CSRF 令牌帮助防止 CSRF 攻击。启用后,特定 Cookie 的内容必须与特定标题或特定后处理正文参数的内容匹配。

要启用此功能、请设置 csrfToken 参数设置为 true 身份验证期间。默认值为 false

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{
  \"username\": \"MyUserName\",
  \"password\": \"MyPassword\",
  \"cookie\": true,
  \"csrfToken\": true
}" "https://example.com/api/v3/authorize"

如果为true、则为A GridCsrfToken Cookie会使用随机值设置为网格管理器和登录 AccountCsrfToken Cookie会使用随机值设置为登录到租户管理器。

如果存在 Cookie ,则可以修改系统状态的所有请求( POST , PUT , patch , delete )都必须包括以下项之一:

  • X-Csrf-Token 标头、标头的值设置为CSRF令牌cookie的值。

  • 对于接受表单编码正文的端点:A csrfToken 表单编码的请求正文参数。

有关其他示例和详细信息,请参见联机 API 文档。

备注 设置了CSRF令牌Cookie的请求也将强制实施 "Content-Type: application/json" 任何请求的标头、如果希望JSON请求正文作为对CSRF攻击的额外保护、