2

我正在为一个 ASP.NET 网站编写一个基本的登录页面,我看到的所有教程基本上都解释了以下步骤:
1. 创建一个带有用户名和密码文本框以及一个登录按钮的表单。
2. 将登录按钮连接到将调用验证函数的事件,从这两个文本框中传递数据。
3. 以某种安全方式将这些文本框中的数据与数据库或其他地方的登录信息进行比较。
4.返回给客户端一些结果,或者根据#3重定向。

我能找到的所有安全信息都是指#3 中发生的事情。我担心的是从#1 到#2 的转变。数据不会以明文形式通过 http 帖子发送吗?难道不能有人只运行 tcp 跟踪或 wireshark(ethereal),检查数据包,然后看到用户名和密码清晰吗?我必须购买 SSL 证书来防止这种情况吗?如果没有加密,.net 中是否已经有一些东西会以某种方式传递这些信息?

谢谢,rj

4

1 回答 1

1
Must I buy an SSL cert to prevent this? 

是的,为了确保安全,您需要注意两件事。

  1. 页面必须通过 ssl,因此必须安全地传输名称和密码。
  2. 凭据 cookie 也必须仅通过 ssl,并且当然是加密的。

更多阅读内容:
一些黑客可以从用户那里窃取 cookie 并在网站上使用该名称登录吗?
不同的用户在 .ASPXANONYMOUS 中获得相同的 cookie 值
这个新的 ASP.NET 安全漏洞有多严重,我该如何解决?

于 2012-11-12T07:26:26.307 回答