gpt4 book ai didi

asp.net - 如何将敏感数据发送到 Asp.net Web API 服务器

转载 作者:可可西里 更新时间:2023-11-01 16:18:34 24 4
gpt4 key购买 nike

我有一个 Asp.net Web API 项目。

项目通过接收名为sessionToken的参数来验证所有请求

http://myapi.com/api/applications/getApplications?sessionToken=xxx

但是,我听说通过公共(public) URL 发送敏感参数是不安全的,而且我看到了 example我可以在 HttpClient 请求的 header 中添加 sessionToken 参数:

using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("http://myapi.com/");
client.DefaultRequestHeaders.Add("sessionToken", "xxx");

HttpResponseMessage response = await client.GetAsync("api/applications/getApplications");
string stringResponse = await response.Content.ReadAsStringAsync();
}

我很高兴现在我可以读取参数而无需将其放入 url 中。

通过 http 请求 header 发送敏感数据是否安全? (当然至少会加密)

最佳答案

您说得对,将安全敏感信息放在 Url 上不是一个好主意。它可能导致信息泄露。

建议将其放在页眉中。以下是一些进一步的建议:

  • 使用 Authorize header 而不是自定义 header 。 Authorize header 专为身份验证目的而设计。您可以定义自己的方案,也可以使用现有方案,如 bearer在 OAuth 2.0 中定义,而不是重新发明所有轮子。

  • 客户端应始终使用 TLS 来防止 MITM攻击

  • 客户端在发出请求时应始终检查证书链以避免 DNS hijacking攻击

  • 将 token 的到期时间设置为短期以避免 replay攻击

  • 确保您的客户端代码不会将 token 存储到不安全的地方,其他人可以访问这些地方

关于asp.net - 如何将敏感数据发送到 Asp.net Web API 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com