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

如何在使用php重定向之前检查远程登录是否有效?,php,redirect,curl,Php,Redirect,Curl,我用一个自定义的登录表单远程登录到我的webmail,它工作得非常好,我的问题是如果输入了不正确的用户/密码 如果详细信息正确,并且您按下logn按钮,它将直接带您进入您的webmail收件箱,而如果详细信息不正确,它仍会将您重定向到原始webmail登录表单(我不希望用户能够看到/访问) 我的问题是,是否可以在重定向之前检查东西是否正确登录,以便我可以显示输入的错误用户/密码,而不是重定向,并且只有在登录详细信息良好时才重定向 我认为这可能通过curl实现,但我的curl能力有限。 这是我的重

我用一个自定义的登录表单远程登录到我的webmail,它工作得非常好,我的问题是如果输入了不正确的用户/密码

如果详细信息正确,并且您按下logn按钮,它将直接带您进入您的webmail收件箱,而如果详细信息不正确,它仍会将您重定向到原始webmail登录表单(我不希望用户能够看到/访问)

我的问题是,是否可以在重定向之前检查东西是否正确登录,以便我可以显示输入的错误用户/密码,而不是重定向,并且只有在登录详细信息良好时才重定向

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


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

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

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


为了供您参考,我将添加对此的详细解释

假设有两个类似以下的文件:index.php、auth_check.php

index.php
  • 使用AJAX调用auth_check.php。要使用jQUERY实现AJAX,请参阅以下链接:
  • 通过auth_check.php的结果,我们将知道帐户信息是否有效
  • 向用户显示错误消息或尝试移动下一步
  • auth_step.php
  • 获取有效帐户信息和无效帐户信息的HTTP结果(HTML)
  • 您可以解析HTML源代码并使用决策函数对这两种情况进行分类
  • 使用curl实现HTTP请求部分(登录)
  • 打印出从#2函数导出的结果。(因此index.php将捕捉到这一点)

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


    希望这能对您有所帮助。

    由于某些原因,iframe无法工作,所以我想它必须是ajax,但我对ajax不太熟悉。你能给我指出我需要的正确方向吗?thanksI将在上面添加它。
    $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);