繁体   English   中英

通过IFrame传递用户名和密码

[英]Passing Username and Password with IFrame

我有一个问题。

这可能吗?
我需要将其他网站的登录页面放入iframe。 登录后,您将看到一个图表。

我需要的是,当我单击超链接时,它将在iframe中显示该页面,但会自动填充并自动登录帐户,以便他们看到的不是登录页面,而是其中的图形。

有没有办法在iframe中传递用户名和密码并触发登录按钮或自动登录?

可以用PHP或jquery做到吗?

关于所有,并提前感谢。

不要公开密码,而是创建一个唯一的密钥,您可以将其与密码一起发送以在将显示在iframe中的页面上对它们进行身份验证。 这假定两个系统都知道用户和唯一密钥。

设置iframe时,您可以将其源设置为包括一些URL参数:

<iframe src="http://example.org/api?key=<?php echo $unique_key; ?>">

这将带您解决跨域问题,而跨域问题可能是使用javascript方法抛出的。

Treffynnon回答的唯一警告是,它要求您有权访问两个系统,以创建一种“登录代码” Web服务,两者可以用来进行通信。 如果您只能访问第一个站点(要在其中包含iframe的站点),则需要执行以下操作(请注意,这不像Treffynnon的回答那么安全):

  1. 在没有iframe的情况下加载页面
  2. 使用ajax,查询服务器(通过SSL!),以获取需要提交给另一台服务器的用户名和密码。
  3. 动态创建您的iframe,其中填充的表单与另一台服务器上的登录表单基本相同,并使用与另一表单相同的“方法”提交相同的“操作”。 然后动态提交。 这应该在客户端上设置适当的登录cookie,以便其登录。确保在所有地方都使用SSL。
  4. 动态地将iframe重定向到包含您要查看的图表的页面。
  5. 删除所有保存安全登录信息的JavaScript变量。

潜在问题:

  • 某些登录过程非常复杂,使用此方法可能无法登录。
  • 您正在极大地增加站点上的攻击媒介数量。 例如:步骤2,查询登录凭据,假设您的安全性足以阻止人们查询他们不应该访问的数据。
  • 所有这些都假定最终用户可以访问登录凭据,例如,他们在两个站点上都有一个用户名和密码。 如果您要使用1个站点范围的登录名来使最终用户访问他们原本无法获得的访问权限,那么这会将您的登录详细信息公开给所有用户,因此您不应该这样做。 在这种情况下,您唯一的选择是完全在后端执行某些操作。 如果您可以访问两个站点的代码,请使用Treffynnon的建议,否则,您将不得不访问并下载后端的图表,然后为您的用户重新显示。

您可以尝试的第一种方法是在iframe中使用GET方法发送用户名和密码。 src=yourscript.php?user=me&pass=secret这样,您可以尝试在另一侧对用户进行身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM