0

在 ASP.NET 应用程序中,据我所知,后面的代码位于服务器而不是浏览器中。例如,我有一个登录屏幕,在后面的代码中,单击登录按钮,我在发送到服务器之前加密用户凭据。当用户按下登录按钮时,如何触发相应的事件以及如何在发送到服务器之前对用户凭据进行加密?

谁能解释一下流程是怎样的?

4

4 回答 4

1

如果您在代码隐藏中加密凭据,您是在服务器本身上加密它们,它们尚未在客户端上加密。您在浏览器的表单域中输入的任何内容都会作为 POST 的正文从客户端浏览器传输到服务器。

如果您使用的是 HTTP 协议,那么您输入的数据在网络上清晰可见(您可以使用FiddlerWireshark来查看)。

您需要使用 HTTPS 来加密 HTTP 数据包,以便在将数据传输到服务器时内容不会被视为明文。例如,在存储到数据库之前,您是否还想显式加密服务器上的数据,这是一个单独的操作和关注点。

这份来自 4GuysFromRolla的文档确实过时了,但在处理您的请求时达到了最高点。

于 2012-08-31T05:08:51.787 回答
0

您将需要https来执行此操作,浏览器将在将其发送到服务器之前对其进行加密

于 2012-08-31T04:59:36.333 回答
0

由于后端编写的所有代码都在服务器上执行,因此您的密码加密也在那里完成。如果您需要在将密码发送到服务器之前对其进行加密,javascript 是唯一的方法。您可以使用 javascript AES、DES、3DES 加密算法。这是一个很好的例子 http://point-at-infinity.org/jsaes/

或者您可以使用 SSL 将您的数据发送到服务器。

如果您对页面生命周期事件感兴趣,它们是:

1) 预初始化

2) 初始化

3) 初始化完成

4) 加载视图状态

5) 加载邮政数据

6) 预加载

7) 加载

8) 加载完成

9) 预渲染

10)预渲染完成

11)保存状态完成

12)卸载

于 2012-08-31T05:07:45.580 回答
0

请注意,您为单击按钮编写的任何代码都在服务器上。因此,只有在服务器上的代码接收到文本时才会发生加密,而不是在此之前。我不建议使用 javascript 加密这些文本,但您应该考虑引入 SSL。在 SSL 中运行应用程序会有点慢,因为它必须加密/解密过程。因此,您可能计划在 HTTPS (SSL) 下运行受保护的页面,并在普通 HTTP 下运行其他页面。希望它有效。

于 2012-08-31T05:58:20.477 回答