.net - 明文密码显示在 http header 中

标签 .net forms security passwords

我正在帮助测试接受用户名和密码的 .NET 应用程序。该应用程序通过 SSL 运行,并通过页面上的 iframe 托管,该页面也设置了 SSL(因此用户可以在父页面上看到 https,并对输入信息充满信心)。

所以,为了清楚起见,有一个页面 https://www.mydomain.com/mypage.aspx并且,在该页面内,有一个 iframe,它引用与 https://www.mydomain.com/apps/myapp.aspx 在同一服务器上的 .NET 应用程序。

当用户提交页面时,我正在通过 Filezilla 浏览器插件“实时 HTTP header ”查看 header 。令我沮丧的是,表单数据(包括用户名和密码)以明文形式显示在标题的 POST 部分。

我的结论是信息没有被加密。那是对的吗?如果是这样,最好的解决方案是什么?

最佳答案

如果您通过 https/SSL 发布这些表单变量,那么实际传输将被加密。您将能够在浏览器扩展中查看它们,但浏览器必须加密它们才能通过 SSL 将它们发送到服务器,只要该帖子实际上是发布到 https://而不是 http://

然后您不应该将用户名密码对返回给用户,而是应该对用户进行身份验证,然后如果它匹配,则使用表单例份验证之类的东西来生成一个 token ,为当前 session 对他们进行身份验证。

关于.net - 明文密码显示在 http header 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693658/

相关文章:

.net - 存储 NULL 而不是空白字符串列

c# - 关闭对话框窗体关闭父窗体

Javascript 无法访问表单中的值

php - 如何限制表单的使用或限制访问

c# - 保护 .NET Core 2.1 与 SQL Azure 数据库通信的应用程序设置中的连接字符串

python - 在 Python 中创建一个临时 FIFO(命名管道)?

c# - 无法将 DBNull.Value 转换为类型 'System.Double' 。请使用可空类型

.net - F# JSON 类型提供程序 : Handling DateTime and TimeZone

javascript - 如何在javascript中将数据加载到特定的输入值?

这段代码可以包含缓冲区溢出吗?