在 GET 请求中发送用户电子邮件是否安全?

Nic*_*las 4 security get http

我想从应用程序后端检索数据。为了做到这一点,我必须通过来自前端网站的 API 请求发送用户的电子邮件。

在 GET 请求或 POST 请求中发送用户电子邮件是一种好习惯吗?更具体地说,不将用户电子邮件作为 URL 参数包含在内是一种好习惯,因为您不希望其他第三方看到它吗?

谢谢

Obs*_*Age 6

您绝对希望使用POST请求而不是GET查询电子邮件地址的GET请求,因为请求不能用于发送敏感信息。

牢记这一点,您还必须首先考虑您对端点所做的事情。如果您只是请求有关电子邮件地址的公共信息(例如解析服务器名称或 IP),那么也许一个GET请求就足够了。

请记住,你不能传递任何授权头与一个GET请求,所以如果要查询类似问题的电子邮件地址是否拥有注册帐户,您的网站上,任何人都将能够通过垃圾邮件的请求,找出你的用户的电子邮件地址直到他们收到 200 回复(从而验证注册的电子邮件)。并且知道有效用户的电子邮件地址可以在稍后阶段充当攻击媒介。

简而言之,您很可能想要POST. 仅GET当您纯粹查询有关托管电子邮件的域的信息时才使用。

  • “*请记住,您不能通过`GET` 请求传递任何授权标头*”——这根本不是真的。您当然可以(以及您想要的任何其他 HTTP 标头)。您不能在“GET”请求中传递的是消息正文,因此如果您使用“GET”而不是“POST”,则必须使用 URL 查询字符串或自定义 HTTP 标头来传递要查询的电子邮件地址`. (7认同)

Max*_*rok 5

好吧,POST 请求更适合从日志中隐藏 GET 参数。您能做的最好的事情就是加密正在传输的数据。您可以将 POST 请求与 SSL 加密结合使用,这对于常规系统来说已经足够了。