我想了解提交表单的第一种方法是否比第二种更安全:
第一种方法(无AJAX)
a)将密码从视图发布到控制器
b)加密密码,将其传递给模型
第二种方法(使用AJAX)
a)使用AJAX将密码从视图发布到控制器
b)加密密码,将其传递给模型
对于第二种方法,我可以在浏览器的控制台网络窗口中看到密码,这就是为什么我认为这种方法不安全的原因。
答案 0 :(得分:1)
好吧,自己加密密码和网络安全是两回事。
当用户提交带有密码的表单时,密码将以明文形式发送到HTTP请求中。这就是安全网站使用SSL的原因,SSL会在 HTTP 层中加密密码。如果你不这样做,无论你是否使用加密,有人都可以收听HTTP请求并从那里获取密码。
一旦密码通过HTTP发送,您需要担心的另一件事是确保在将数据插入数据库时加密,如果您没有提出进一步的请求,那么全部这是必要的。
您可以阅读有关SSL here的更多信息。
答案 1 :(得分:1)
这两种方法都是相同的安全级别。因为邮件没有加密。
下载Wireshark,安装并使用(监听你的互联网适配器),然后如果你发送任何表格到互联网,它会抓住它,你可以看到它,这只是一条纯文本消息到服务器(你可以在没有任何外部工具的情况下阅读你发送的数据),在这两种情况下都有一些标题。如果您需要更安全的解决方案,请使用https加密消息,此解决方案使用SSL或TSL技术。
这两个例子很容易使用Men In The Middle攻击,当第三个人可以获得你发送到服务器的所有数据。 (当然有一种解决方案可以将这种攻击与https一起使用来阅读消息,但它有点难度)
如果我没有问题,那么有一个浏览器是firefox或chrome,您可以在控制台中看到HTTP页面请求,例如页面请求或表单提交。 (在构建的控制台中,而不是在firebug或其他类似工具中)