javascript窗口重定向安全地传递参数(发布)

标签 javascript parameters dns navigation passwords

我有一个场景,页面导航是从一个域到另一个域完成的。 例如,导航是从 http://www.foo.comhttp://www.bar.com在 JavaScript 中单击按钮

重定向时,我需要将用户名和密码从第一个域安全地发送到第二个域。

如何发送这些参数?

我不想使用 GET 并通过 URL 发送它,因为以这种方式发送密码并不安全。 由于域不同,Broswer 的 localStorage 和 SessionStorage 无法工作。

Window.open确实在同一页面中打开了第二个域('_self'),但参数丢失了。除此之外,window.open 的缺点是弹出窗口拦截器会阻止它

Cookie 不起作用。

我想从站点 A 重定向到站点 B,并将用户在站点 A 上输入的用户名和密码传递到站点 B

最佳答案

您不清楚此处的安全隐患:

While redirecting, I need to send username and password securely from the first domain to the second domain.

I do not want to use GET and send it across the URL as it is not secure to send password in that manner.

站点 B 是否不应该知道密码,或者您是否担心有人监听请求并重播?

无论如何,唯一安全的方法是

  • 站点 A 向您提供一个 token (可能是 JSON Web Token )
  • 您将此 token 与请求一起发送到站点 B。
  • 网站 B 获取此 token 并要求网站 A 验证它。
  • 经过肯定验证后,站点 B 会为您创建一个 session 。

其他一切(使用 POST 而不是 GET)也是不安全的,监听 POST 请求很简单。

关于javascript窗口重定向安全地传递参数(发布),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35325671/

相关文章:

javascript - dojo/on 和 dojo/aspect 的区别

javascript - Googlebot 和空 CORS 响应

matlab - 将实际值传递给 Matlab 中的回调函数

variables - 为什么 Go 允许编译未使用的函数参数?

c - 如何使用固定 DNS 服务器获取主机名的 IP?

dns - 实体观点

javascript - 如何强制 ag-grid 滚动到选定/突出显示的行位置

javascript - 将菜单选项与 Material-ui 右对齐

Java 选择性泛型

css - 自定义域未加载 CSS (Azure)