无法在浏览器中查看cookie(codeigniter)

时间:2015-03-25 12:08:29

标签: codeigniter cookies browser inspect-element

我试图查看我使用CodeIgniter进行设置的Cookie的内容。我可以在服务器端正确地转储cookie数组的内容,但无法在浏览器的检查器中查看它们(所以客户端)。

我正在使用CodeIgniter版本3,如果这有帮助的话。 这是我设置cookie的代码:

 if ($email === $admin_email && $password = $password) {

            echo 'credential match';

            $this->load->helper('cookie');

            if ($remember_me == '1') {                            

                $email    = $this->input->post('email');
                $password    = $this->input->post('password');
                $remember = $this->input->post('remember_me');

                $cookie1 = array(
                    'name' => 'email',
                    'value' => $email,
                    'expire' => '86400',
                    'domain' => base_url(),
                    'path' => '/admin/',
                    'prefix' => 'myprefix_',
                    'secure' => TRUE
                );

                $this->input->set_cookie($cookie1);
                echo "<pre>";


                var_dump($cookie1);
                echo"</pre>";
                echo 'Checked';
            }

        }
    return TRUE; // if credential matches
    } else {
        return False;
    }

这是一张图片来澄清我的意思: cookie

2 个答案:

答案 0 :(得分:1)

您正在设置的Cookie可能存储在服务器端。在客户端(在浏览器中),您可以看到浏览器发送到服务器的引用,因此它知道您是谁(会话)。然后,服务器使用它来查找会话的cookie,以便您可以在代码中访问它。值本身存储在服务器上:不在浏览器中。

因此,获取cookie值的唯一方法是通过PHP(在服务器上处理)从服务器打印它们。

如果您使用Javascript / Jquery存储cookie,那么它通常会存储在客户端,因此会显示在您的检查器中。

编辑:更好地查看最新图片,似乎您在Cookie中设置了一条路径。尝试删除该行,然后查看它是否有效。如果设置路径,则cookie将仅显示在具有该路径的页面上(因此在本例中为localhost / admin / *)。我不完全确定CI如何处理cookie,但由于“SECURE”条目,它可能也不会将其存储在客户端,因此您也可以尝试禁用它。

答案 1 :(得分:1)

解决,标记&#39;安全&#39; =&GT; FALSE

                // set cookie 
                  $cookie = array(
                    'name' => 'email',
                    'value' => $email,
                    'expire' => '86500',
                    'domain' => '.xyzsoftsolutions.com',
                    'path' => '/admin',
                    'prefix' => 'admin_',
                    'secure' => FALSE
                );

                $this->input->set_cookie($cookie);