php - opencart 客户登录文件中 $this->request->get ['token' ] 的目的是什么?

标签 php opencart

试图了解 Opencart 客户登录系统。 catalog>controller>account>login.php 文件中的 ControllerAccountLogin 类有一个条件 if (!empty($this->request->get['token ']))(在 //管理员用户的登录覆盖 之后,注释)这让我卡住了。

ControllerAccountLogin(这不是完整的 Controller ,只是我需要了解的部分)

class ControllerAccountLogin extends Controller {
    private $error = array();

    public function index() {
        $this->load->model('account/customer');

        // Login override for admin users
        if (!empty($this->request->get['token'])) {

            $this->event->trigger('pre.customer.login');

            $this->customer->logout();
            $this->cart->clear();

            unset($this->session->data['wishlist']);
            unset($this->session->data['payment_address']);
            unset($this->session->data['payment_method']);
            unset($this->session->data['payment_methods']);
            unset($this->session->data['shipping_address']);
            unset($this->session->data['shipping_method']);
            unset($this->session->data['shipping_methods']);
            unset($this->session->data['comment']);
            unset($this->session->data['order_id']);
            unset($this->session->data['coupon']);
            unset($this->session->data['reward']);
            unset($this->session->data['voucher']);
            unset($this->session->data['vouchers']);

            $customer_info = $this->model_account_customer->getCustomerByToken($this->request->get['token']);

这是什么 $this->request->get['token'],它有什么作用,这个 token 在哪里设置以及我如何 var_dump 到看到它的值(value)了吗?

最佳答案

在OpenCart中,管理员无需输入客户密码即可登录客户账户。

在管理面板/sale/customer 中,每个客户都有一个带锁图标和“登录商店”标题的链接,它调用此方法:sale/customer/login:

admin\controller\sale\customer.php

public function login() {
    ...
    $token = md5(mt_rand());
    ...
    $this->response->redirect($store_info['url'] . 'index.php?route=account/login&token=' . $token);
    ...
}

enter image description here

关于php - opencart 客户登录文件中 $this->request->get ['token' ] 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47780024/

相关文章:

php - 为什么 perstashop 在 Release模式下无法连接到数据库?

javascript - PHP textarea 结合 select Change 和 .load() 函数

javascript - 在 Opencart 中使用用户 ID 实现 Google Analytics

mysql - opencart支付模块安装2006错误

php - Opencart 网站存在 CSS 问题

php - 将对象实例化为具有命名空间的类

PHP var_dump($_SESSION);

javascript - 通过AJAX从$_SESSION发送变量到PHP进行密码更改,怎么做?

php - 类型错误 : 'checkValidity' called on an object that does not implement interface HTMLTextAreaElement

php - opencart 从管理员中获取产品 seo url