Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用IFrame传递用户名和密码_Php_Javascript_Jquery_Html - Fatal编程技术网

Php 使用IFrame传递用户名和密码

Php 使用IFrame传递用户名和密码,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我想问一个问题 这可能吗?我需要将我们其他站点的登录页面放入iframe中。登录后,您将看到一个图表 我需要的是,当我点击超链接时,它会在iframe中显示页面,但会自动填充并自动登录帐户,这样他们将看到的不是登录页面,而是其中的图形 是否有办法在iframe中传递用户名和密码并触发登录按钮或自动登录 可以在PHP或jquery中实现这一点吗 向所有人致意并提前表示感谢。您可以尝试的第一个方法是使用iframe中的GET方法发送用户名和密码。像src=yourscript.php?user=me

我想问一个问题

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

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

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

可以在PHP或jquery中实现这一点吗


向所有人致意并提前表示感谢。

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

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

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

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

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

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

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

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

Treffynnon回答中唯一需要注意的是,它要求您能够访问这两个系统,以创建一种“登录代码”web服务,这两个系统可以用来通信。如果您只能访问第一个站点(您希望包含iframe的站点),我将做以下操作(请注意,这并不像Treffynnon的回答那样安全):

  • 加载不带iframe的页面
  • 使用ajax,查询您的服务器(通过SSL!)以获取您需要提交到另一台服务器的用户名和密码
  • 动态创建iframe,使用与另一台服务器上的登录表单基本相同的表单填充,并使用与另一台服务器相同的“方法”提交到与另一台服务器相同的“操作”。然后动态提交它。这应该在客户端上设置适当的登录cookie,以便它们登录。确保在任何地方都使用SSL
  • 将iframe动态重定向到包含要查看的图表的页面
  • 删除保存安全登录信息的所有javascript变量
  • 潜在问题:

    • 有些登录过程非常挑剔,可能无法使用此方法登录
    • 您正在显著增加站点上的攻击向量数量。例如:步骤2,查询登录凭据,假设您的安全性足以防止人们查询他们不应该访问的数据
    • 所有这些都假设最终用户可以访问登录凭据,比如说,他们在两个站点上都使用一个用户名和密码。如果您有一个站点范围的登录,您使用它让您的最终用户能够访问其他用户无法访问的内容,那么这将向您的所有用户公开您的登录详细信息,您不应该这样做。在这种情况下,您唯一的选择是完全在后端执行某些操作。如果您可以访问这两个站点的代码,请使用Treffynnon的建议,否则您将不得不访问并下载后端的图表,然后为您的用户重新显示它

    特雷弗农回答中唯一的警告是,它要求您能够访问这两个系统,以创建一种“登录代码”web服务,这两个系统可以用来通信。如果您只能访问第一个站点(您希望包含iframe的站点),我将做以下操作(请注意,这并不像Treffynnon的回答那样安全):

  • 加载不带iframe的页面
  • 使用ajax,查询您的服务器(通过SSL!)以获取您需要提交到另一台服务器的用户名和密码
  • 动态创建iframe,使用与另一台服务器上的登录表单基本相同的表单填充,并使用与另一台服务器相同的“方法”提交到与另一台服务器相同的“操作”。然后动态提交它。这应该在客户端上设置适当的登录cookie,以便它们登录。确保在任何地方都使用SSL
  • 将iframe动态重定向到包含要查看的图表的页面
  • 删除保存安全登录信息的所有javascript变量
  • 潜在问题:

    • 有些登录过程非常挑剔,可能无法使用此方法登录
    • 您正在显著增加站点上的攻击向量数量。例如:步骤2,查询登录凭据,假设您的安全性足以防止人们查询他们不应该访问的数据
    • 所有这些都假设最终用户可以访问登录凭据,比如说,他们在两个站点上都使用一个用户名和密码。如果您有一个站点范围的登录,您使用它让您的最终用户能够访问其他用户无法访问的内容,那么这将向您的所有用户公开您的登录详细信息,您不应该这样做。在这种情况下,您唯一的选择是完全在后端执行某些操作。如果您可以访问这两个站点的代码,请使用Treffynnon的建议,否则您将不得不访问并下载后端的图表,然后为您的用户重新显示它

    那么我该如何触发登录页面,让它自己登录呢?你不会,因为