Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX提交登录信息时的安全注意事项_Javascript_Security_Model View Controller_Ssl_Login - Fatal编程技术网

Javascript 使用AJAX提交登录信息时的安全注意事项

Javascript 使用AJAX提交登录信息时的安全注意事项,javascript,security,model-view-controller,ssl,login,Javascript,Security,Model View Controller,Ssl,Login,我正在为我的MVC网站编写一个登录/注册表单,并且面临一个关于安全性和AJAX的问题。似乎越来越多的流行网站正在利用javascript来处理登录,其中许多来自非https URL(www.giantbomb.com和www.gametrailes.com)。我想知道是否有一种方法可以让我做类似的事情,但也可以使用SSL 我在其他帖子中读到,如果javascript是从一个安全页面执行的,那么这是可能的,但是如果这不是一个选项,那么我将如何使事务尽可能安全呢 谢谢你的时间 正如George Ma

我正在为我的MVC网站编写一个登录/注册表单,并且面临一个关于安全性和AJAX的问题。似乎越来越多的流行网站正在利用javascript来处理登录,其中许多来自非https URL(www.giantbomb.com和www.gametrailes.com)。我想知道是否有一种方法可以让我做类似的事情,但也可以使用SSL

我在其他帖子中读到,如果javascript是从一个安全页面执行的,那么这是可能的,但是如果这不是一个选项,那么我将如何使事务尽可能安全呢


谢谢你的时间

正如George Marian提到的,您可以使用基于JS的公钥加密。有。但您需要知道,这并不是SSL的替代品。主要的困难是以安全的方式分发公钥。您可以提高被动窃听的安全性,但除非您能够安全地传输密钥,否则主动MITM(中间人)攻击仍然是可能的

还请记住,必须启用JavaScript才能工作,因此您需要一个纯文本回退


如果您需要确保事情真正安全,请使用SSL。

我想我只是需要一点动力,或者其他什么。以下是一些你应该会发现有用的阅读材料:


恐怕我没有一个肯定的答案给你。不要依赖JS来保证安全。如果您通过纯文本HTTP发送“安全JS”,则攻击者用恶意JS替换您的“安全JS”是微不足道的。恶意JS可以向攻击者发布用户凭据,然后将“安全JS”注入用户浏览器。最终用户和您的web服务/应用程序甚至永远不会知道有人已捕获用户凭据。我所说的“安全JS”是指JS的任何实现——无论是不对称的还是对称的

这个问题以前已经在StackOverflow上讨论过了。请看一个例子


非SSL方法的一个大问题是。没有办法绕过它。

我建议不要这样做,因为即使你保证了它的安全性,用户也会觉得它不安全。用户被训练在网络浏览器中寻找挂锁,如果它不在那里,就不要相信它


(我肯定有人会指出,我高估了用户的教育程度,是的,不是所有用户都知道这一点,但很多用户都知道。)

使用JavaScript进行加密是可能的。IIRC,你甚至可以做公钥加密,这可能是最好的方法。我太累了,无法挖掘一些链接,但我想我会提供基本的想法。就其本质而言,公钥不需要以安全的方式分发。这就是它的美妙之处,JS代码使用公钥为服务器加密,服务器使用公钥解密。它们需要以第三方无法修改的方式分发。啊,是的。如果第三方可以用他们的公钥替换公钥并截获加密的通信量,他们就可以解密它。