【问题标题】:Redirect in php throws 520 error CloudFlare在 php 中重定向会引发 520 错误 CloudFlare
【发布时间】:2014-12-01 15:48:07
【问题描述】:

我正在将 cloudflare 与 codeigniter 框架一起使用,并且在操作完成后尝试将脚本重定向到另一个页面时遇到奇怪的问题,服务器使用抛出错误 520(cloudflare 服务器)

$input = $this->input->post();

if(!empty($input)){

        $this->load->library('form_validation');

        $this->form_validation->set_rules('email', 'Email', 'required|email');
        $this->form_validation->set_rules('password', 'Password', 'required');

        if ($this->form_validation->run() == TRUE)
        {
            $r = $this->userModel->login($input["email"], $input["password"]);
            if($r["success"] == "t"){

                $this->userModel->setSession($r["_user_id"], $r["token"]);

                //Both redirect methods does not works
                //echo '<html><head><META http-equiv="refresh" content="0;URL='.$this->glob->exec_redirect().'"></head><body></body></html>';
                redirect($this->glob->exec_redirect());
                die();
            }else{
                $data["errors"] = $r["message"];
            }
        }else
            $data["errors"] = validation_errors();
    }
    $this->load->view("user/login", $data);

这个脚本在没有 cloudflare 的情况下也能正常工作,在 cloudflare 没有重定向功能的情况下脚本也能正常工作。 演示:

Sample which throws error

用户:测试

通过:test12

有时你应该多尝试一次才能崩溃

Sample without redirect

工作正常,用户登录只需重定向 Manuel。

问候。

【问题讨论】:

  • 尝试删除die()?
  • 我做到了,但没有用

标签: php codeigniter redirect cloudflare


【解决方案1】:

我登录了,它成功了。然后,我注销并尝试再次登录,我看到了您所说的 520 错误。

我认为这与您的重定向网址有关。

https://www.plac24.com/user/login?rdr=http%3A%2F%2Fwww.plac24.com%2F

当您将它们重定向到您的网站时,您需要 http:// 吗?

【讨论】:

  • 有几个页面正在使用 https 这样的登录,注册......他们被强制在 https 旁边是强制 http!!!
  • 问题似乎是表单操作,它只是 # 这意味着相同的 url:https://www.plac24.com/user/login?rdr=http%3A%2F%2Fwww.plac24.com%2F我将其替换为 https://www.plac24.com/user/login,现在它可以正常工作了 :)
【解决方案2】:

您是否在做任何发送大型 cookie 或标头的事情?这是一个可能的原因,支持可以帮助解决问题。

【讨论】:

  • $this->userModel->setSession() 方法保存了所有必要的会话!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 2023-01-13
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
相关资源
最近更新 更多