当我登录 Azure 门户并转到我创建的 SQL 数据库并单击查询编辑器(预览)时。我尝试使用 SQL 服务器身份验证进行连接。我输入我的用户名和密码,然后在密码下方收到一条错误消息,其中有红色 x,并且无法验证 X-CSRF-Signature 标头。
连接到 Azure 门户时我正在使用 Google Chrome 网络浏览器。
我该如何解决无法验证 X-CSRF-Signature 标头的问题。
谢谢,
答案1
确保您的计算机的时钟设置为正确的时间和时区,或者尝试将您的计算机的时区与 Azure 匹配。
答案2
创建并验证此标头是为了防止针对 Azure SQL Server 的某种类型的攻击。具体来说,某些 Web 浏览器可以保存您的密码,这可能会让不知道密码的攻击者使用记住的密码发出查询。为了防止这种称为跨站点请求伪造 (CSRF) 的攻击,Azure 附加了一点额外的数据,称为“CSRF 签名”。此签名证明凭据在请求时是已知的,而不仅仅是浏览器记住的。
此安全机制要求您的时钟与我们的服务器同步到 5 分钟以内,以防止使用旧的 CSRF 签名进行重放攻击。
请确保您的时钟设置为正确的时间,因为这很可能是导致您观察到的错误消息的原因。