我有一个场景,从一个域到另一个域完成页面导航。 例如,导航完成 http://www.foo.com来 在{javascript
按钮上点击http://www.bar.com重定向时,我需要安全地从第一个域向第二个域发送用户名和密码。
如何发送这些参数?
我不想使用GET并通过URL发送它,因为以这种方式发送密码是不安全的。 Broswer的localStorage和SessionStorage不起作用,因为域名不同。
Window.open会在同一页面中打开第二个域(' _self'),但参数会丢失。在那个window.open的顶部有弹出阻止阻止它的缺点
Cookie不起作用。
我想从网站A重定向到网站B,并将用户在网站A上输入的用户名和密码传递给网站B
答案 0 :(得分:1)
有几种方法:
1)使用POST:在您的网页中创建<form/>
并使用javascript动态放置一些隐藏变量,然后将其发布到其他网站。
2)使用标题:你能看到你是否可以设置标题?
3)使用令牌:您可以尝试使用令牌,您可以使用令牌而不是用户+ pwd组合。因此,您使用URL中嵌入的令牌从网站A重定向到B,并且网站B在对用户进行身份验证之前将令牌验证为网站A上可用的API。您可以在X秒后使这些令牌自我过期。
答案 1 :(得分:0)
您不清楚这里的安全隐患:
重定向时,我需要安全地从第一个域向第二个域发送用户名和密码。
我不想使用GET并通过URL发送它,因为以这种方式发送密码是不安全的。
网站B是否应该知道密码,还是您担心有人在听取请求并重播?
无论如何,唯一安全的方法是
其他一切(使用POST而不是GET)也是不安全的,收听POST请求是微不足道的。