• Как организовать доступ в личный кабинет по ip в Opencart?

    zoozag
    @zoozag
    Opencart
    ip уже в базе лежит, так что дело за малым.
    Насколько я понимаю за вход отвечает вот этот код
    \catalog\controller\account\login.php
    if (!$this->customer->login($this->request->post['email'], $this->request->post['password'])) {

    Он передает email и пароль. Передвайте еще и ip

    Сам метод проверки логина/пароля в system\library\customer.php
    public function login($email, $password, $override = false) {

    Добавьте в функцию еще один аргумент, $ip
    И замените
    $customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1' AND approved = '1'");

    На
    $customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1' AND approved = '1' AND ip = '". $ip ."'");
    Ответ написан
    4 комментария