-1

我正在尝试检查我使用 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;
    }

这是一张图片来澄清我的意思: 曲奇饼

4

2 回答 2

1

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

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

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

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

于 2015-03-25T15:08:55.573 回答
1

已解决,标记为“安全”=> 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);
于 2015-03-26T18:01:42.200 回答