提交不带明文密码的Javascript表单

提交不带明文密码的Javascript表单,javascript,forms,encryption,Javascript,Forms,Encryption,我有一个用户名和密码存储在一个数据库与2路加密。我想使用这些来使用JS表单登录站点,如下所示: var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "http://www.someloginscript.com/"); var f = document.createEle

我有一个用户名和密码存储在一个数据库与2路加密。我想使用这些来使用JS表单登录站点,如下所示:

        var form = document.createElement("form");
        form.setAttribute("method", "post");
        form.setAttribute("action", "http://www.someloginscript.com/");
        var f = document.createElement("input");
        f.setAttribute("type", "text");
        f.setAttribute("name", "username");
        f.setAttribute("value", myUser);
        var f1 = document.createElement("input");
        f1.setAttribute("type", "text");
        f1.setAttribute("name", "password");
        f1.setAttribute("value", myPass);
        form.appendChild(field);
        form.appendChild(f1);
        document.body.appendChild(form);
        form.submit();
我想提交与密码的形式,但要做到这一点,我需要先解密它。如果我对其进行解密,则通过“Inspect Element”函数可以看到密码。我显然不想要这个

我偶然发现了一个名为www.clipperz.com的网站,它完全满足了我的需求,但我不知道如何实现。我需要从中实现他们的开源加密库吗?还是所有的烟雾和镜子让它看起来更安全

谢谢


编辑:我现在知道没有安全的方法可以做到这一点。使用curl提交此表单是否更安全?通过这种方式,我可以在服务器端保留所有密码处理?

无论您最终发送到第三方站点的任何信息,都必须在某个时间点提供给用户的浏览器,并且在该时间点,他们将能够对其进行检查并获取信息

或者,他们可以查看从机器发出的HTTP请求


关键是,如果用户机器上的信息在任何时候都需要处于解密状态,则无法对用户隐藏该信息。

无论您最终发送到第三方站点的是什么信息,必须在某个时候提供给用户的浏览器,在这一点上,他们将能够检查它并获取信息

或者,他们可以查看从机器发出的HTTP请求


关键是,如果用户机器上的信息在任何时候都需要处于解密状态,则不能对用户隐藏该信息。

您没有准确指定它,但听起来好像您试图在一个站点上使用Javascript自动登录到另一个站点?对吗?听起来您还希望为所有用户使用通用登录,这需要防止用户看到

我认为你这样做是行不通的。问题在于,浏览器上的用户可以通过Firebug等工具完全访问Javascript代码及其使用的所有数据。使用这些工具,他甚至可以在页面加载后修改代码

简而言之,如果不让用户看到数据,就无法让Javascript处理数据

我认为更好的方法可能是如下:

  • 站点1向站点2发送一条消息,通知它希望登录用户。它告诉它用户的IP地址、它想要使用的登录详细信息和其他相关详细信息

  • 站点2使用令牌代码响应站点1,然后站点1将令牌代码发送到用户的浏览器

  • 然后,用户浏览器上的Javascript代码将令牌发布到站点2,而不是登录名和密码

  • 站点2将其识别为它刚刚给站点1的令牌,并且它来自它被告知的IP地址,并将用户登录,就好像它收到了一组正常的登录详细信息一样


这个过程显然要求您同时在站点1和站点2上编写代码,因此您必须拥有对这两个站点的完全访问权限。如果站点2是第三方系统,那么您可能必须想出其他方法。

您还没有明确指定它,但听起来好像您试图在一个站点上使用Javascript自动登录到另一个站点?对吗?听起来您还希望为所有用户使用通用登录,这需要防止用户看到

我认为你这样做是行不通的。问题在于,浏览器上的用户可以通过Firebug等工具完全访问Javascript代码及其使用的所有数据。使用这些工具,他甚至可以在页面加载后修改代码

简而言之,如果不让用户看到数据,就无法让Javascript处理数据

我认为更好的方法可能是如下:

  • 站点1向站点2发送一条消息,通知它希望登录用户。它告诉它用户的IP地址、它想要使用的登录详细信息和其他相关详细信息

  • 站点2使用令牌代码响应站点1,然后站点1将令牌代码发送到用户的浏览器

  • 然后,用户浏览器上的Javascript代码将令牌发布到站点2,而不是登录名和密码

  • 站点2将其识别为它刚刚给站点1的令牌,并且它来自它被告知的IP地址,并将用户登录,就好像它收到了一组正常的登录详细信息一样


这个过程显然要求您同时在站点1和站点2上编写代码,因此您必须拥有对这两个站点的完全访问权限。如果站点2是第三方系统,那么您可能必须想出其他方法。

听起来很愚蠢,但不是
f1.setAttribute(“type”,“text”)
您是否尝试过
f1.setAttribute(“类型”、“密码”)问题是这个字符串在这一点之前很久就可读了。在某个阶段,它需要被检索、解密并存储在变量中。它在解密后的任何阶段都是纯文本,但不是
f1.setAttribute(“type”,“text”)
您是否尝试过
f1.setAttribute(“类型”、“密码”)问题是这个字符串在这一点之前很久就可读了。在某个阶段,它需要被检索、解密并存储在变量中。在解密后的任何阶段都是纯文本。感谢您的回复。这很有道理。那么,这是否意味着有一种方法可以在服务器端提交此表单?也许就是这样做的?Clipperz似乎并没有对用户隐藏密码,它只是提供了一种不必键入密码的方法