我正在使用 Firefox Add-on SDK 中的请求模块来访问我的 Perl 应用程序。在 Firefox 面板中,用户将输入他的名称和密码,这些名称和密码会传递给我的 Perl CGI 应用程序。
首先,我想知道这是否是一种安全的方法。
其次,是否有机会加密数据然后在服务器端再次解密(使用 CGI 模块用 Perl 编写)?
我正在使用 Firefox Add-on SDK 中的请求模块来访问我的 Perl 应用程序。在 Firefox 面板中,用户将输入他的名称和密码,这些名称和密码会传递给我的 Perl CGI 应用程序。
首先,我想知道这是否是一种安全的方法。
其次,是否有机会加密数据然后在服务器端再次解密(使用 CGI 模块用 Perl 编写)?
首先,我想知道这是否是一种安全的方法。
就客户端而言 - 取决于您如何存储此密码。如果您记住密码而不是要求用户每次都再次输入密码,那么您应该为此使用登录管理器(如果用户定义了主密码,它将加密存储)。使用附加 SDK 时,您需要chrome 权限:
var {Cc, Ci, components} = require("chrome");
然后,您可以Components.classes
在示例中替换为Cc
、Components.interfaces
byCi
和Components.Constructor
by components.Constructor
,这些代码片段应该在您的扩展程序中正常工作。
其次,是否有机会加密数据然后在服务器端再次解密
如果您的目标是防止窃听,那么您不想使用对称加密 - 它使用相同的密钥进行加密和解密,并且任何查看扩展源代码的人都可以看到用于加密的密钥。所以你想使用像 RSA 这样的非对称(公钥)加密算法。但是,目前在 Firefox 中“手动”使用它非常复杂,并且涉及通过js-ctypes访问NSS 库(DOMCrypt 扩展就是这样做的)。更不用说您仍然需要考虑重放攻击等。更简单的解决方案是使用 HTTPS 连接与服务器通信。