在使用php重定向之前如何检查远程登录是否有效


How to check if remote login works before redirecting with php?

我用自定义登录表单远程登录到我的webmail,这绝对很好,我的问题是如果输入了不正确的用户/通行证。

如果详细信息是正确的,你按下登录按钮,它会直接带你到你的webmail收件箱,而如果详细信息不正确,它仍然会重定向到原始的webmail登录表单(我不希望用户能够看到/到达)。

我的问题是,是否有可能在重定向之前检查事情是否会正确登录,以便我可以显示不正确的用户/通行证输入而不是重定向,并且只有在登录详细信息良好的情况下才重定向。

我认为这可能通过旋度,但我的旋度能力是有限的。这是我的重定向代码(这是表单提交后触发的)

$u = urlencode($_POST['webmail_user']);
$pw = urlencode($_POST['webmail_pass']);
$gu = urlencode("/3rdparty/roundcube/index.php");
$port = 2095; 
$protocol = "http://";
$domain = "domain.com";
$redirect_to = $protocol.$domain.":".$port."/login/?user=".$u."&pass=".$pw."&goto_uri=".$gu."&dest_uri=".$gu;
header("Location: ".$redirect_to);

您想要实现的是需要额外的步骤来检查输入值的有效性。

在不向最终用户透露其过程的情况下,可以使用以下方法完成:

1) AJAX:制作AJAX页面,向服务器执行curl请求,检查帐户的登录过程并返回是否工作正常


为了供你参考,我将详细解释这件事。

假设有如下两个文件:index.php, auth_check.php。

index . php

    使用AJAX调用auth_check.php。使用jQUERY实现AJAX,请参考以下链接:http://api.jquery.com/jquery.ajax/
  1. 通过auth_check.php的结果,我们将知道帐户信息是否有效。
  2. 向用户显示错误信息或尝试移动下一步

auth_step.php

  1. 获取有效和无效帐户信息的HTTP结果(HTML)
  2. 解析HTML源,并制定决策函数,将这两种情况分类。
  3. 使用curl实现HTTP请求部分(登录)
  4. 打印#2函数的结果。(index.php将捕获此结果)

2) IFrame:将IFrame嵌入到原始页面中,并与之通信以验证如上所述的登录。