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 ."'");