json - 在 post 请求正文中的 Json 对象中发送用户名和密码是否安全?

标签 json security passwords

我正在构建一个 Web 应用程序并且我的 Web 服务器是安全的,这意味着它使用带有前端的 ssl 证书来加密连接。

当用户登录时,会创建一个看起来像这样的 JSON 对象,并将其发送到服务器。

{
    username:"the user's username",
    password:"the user's password"
}

在服务器上,这通过使用盐的散列算法进行验证。一旦通过验证,就会创建一个 api token ,该 token 在一定时间内有效,并在 header 中来回传递,以便在发出请求时验证用户。像这种最佳实践/安全一样发送用户名和密码,还是在标题中发送更好?

最佳答案

让我们把它分成很多点:

1) 您使用有效的 SSL 证书来保护用户和服务器之间的通信(必须有效)

2) 在 POST 请求的正文中发送用户名和密码是最佳做法(切勿使用 GET 发送 Credentials 等敏感信息)

3) 在 HTTP 请求和响应 header 中发送 api token 是最佳实践(再次不要使用 GET 发送 session token 等敏感信息)

所以基于以上几点,这个实现似乎没有风险,但你需要考虑以下几点:

1) 在空闲用户的情况下,API token 的超时时间应该很短。 (5 ~ 15 分钟是基于应用程序关键程度的平均值)

2) API token 的长度应该是大约长字符串。 30 ~ 40 个字符。

3) API token 生成必须随机且难以预测以防止( session 预测攻击)。

希望这对你有帮助。

关于json - 在 post 请求正文中的 Json 对象中发送用户名和密码是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345146/

相关文章:

可以故意更改 CSS 文件

security - AWS 困惑代理 - "external id"真的只是一个 "password"吗?

security - 检查密码复杂度 : different from last X passwords

python - 计算用户密码和随 secret 码的熵

Java和Jboss7 : j_security_check Custom Implementation

python - 保存数据时保留新行

c# - 使用 JSON 的 Dotnet Highchart

json - Echarts处理大量数据时无法呈现平滑的线条

security - 网站登录: how should user credentials be sent to the server for verification?

json - Swagger如何描述JSON主体参数