在查询字符串中包含邮政编码和/或姓氏是否存在安全问题?

问题描述 投票:0回答:1

我目前正在设计一个端点来验证客户,他们可以传递他们的邮政编码或姓氏,以及他们的客户 ID(加上一些其他不相关的数据)。

我听说在查询字符串中包含 PII 或敏感数据可能会存在安全风险。除了不包括密码等明显的内容之外,我找不到关于此的大量信息。

此端点对邮政编码或姓氏使用一个查询字符串参数(显然不理想,但这是一个限制)。如果某人可以访问服务器日志,是否可以关联来自一个用户的多个请求,这可能导致通过组合邮政编码和姓氏来识别该人?至少可以通过查看他们的浏览器历史记录来实现这一点,因此这可能是一个问题。

以 POST 请求的形式进行此验证会更好吗?我不确定在什么时候它会成为安全风险,什么样的数据可以安全地包含在查询字符串中,以及在什么时候数据会成为个人身份,或者这是否确实是一个问题。

编辑:查看 Stripe 和 Shopify 等流行的 API,它们似乎使用查询字符串进行客户搜索,但 Salesforce 使用 POST 进行搜索,因此不太确定该走哪条路。

目前我们正在考虑将其作为 POST 进行,但这可能会违反 REST,因为我们正在“获取”客户的有效性,而不是真正进行搜索,而 POST 更适合搜索。

rest security post get api-design
1个回答
0
投票

是否可以从 ISP 运营的代理服务器获取 Web 服务器日志,通过 IP 地址将它们关联起来,并收集特定人员的 PII?

是的

避免将个人姓名、用户 ID 和邮政编码等内容放入 URL 参数字符串中,而是将它们放入请求正文中,确实更安全。当然,这意味着请求不能是 GET 请求。尽可能这样做是对用户隐私的最大尊重。因此,如果您有某种搜索表单或操作,请使用 POST。

至于不是完全RESTful,那又怎样?请记住,REST 在 HTTP 协议设计之后就出现了。用户隐私比遵守一层协议(REST / HTTP / TCP / IP)之上的一层协议的严格理论更重要。

© www.soinside.com 2019 - 2024. All rights reserved.