我想将客户数据 Opencart转移给Wordpress 用户
在Opencart密码中,机制为 MD5 +盐,而Wordpress仅具有 MD5
有什么方法可以将我的客户登录数据Opencart传输到Wordpress
不确定如何实现此目标。
请不要推荐任何工具。
答案 0 :(得分:0)
不幸的是,密码机制不同,因此无法直接传输。我可以想到两种可能会有所帮助的变通方法:
1)除md5 + salt方法外,Opencart还 也接受纯md5哈希密码。您可以在客户库中添加几行代码,以将这些密码转换为这样的普通md5哈希值。
注意:确切的位置和语法取决于您未提供的Opencart版本。此示例适用于v2.3.0.2
打开库类(system/library/cart/customer.php
)并查找login()
函数。在下面找到一行这样的代码:
$this->db->query("UPDATE " . DB_PREFIX . "customer SET language_id = '" . (int)$this->config->get('config_language_id') . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "' WHERE customer_id = '" . (int)$this->customer_id . "'");
像这样更改它:
$this->db->query("
UPDATE " . DB_PREFIX . "customer
SET language_id = '" . (int)$this->config->get('config_language_id') . "',
ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "',
password = '" . $this->db->escape(md5($password)) . "'
WHERE customer_id = '" . (int)$this->customer_id . "'
");
现在,每次有人登录密码时,都会将其转换为普通md5哈希可读的内容。显然,这将要求客户在更新密码之前先登录一次。
2)另一种可能性是修改Wordpress身份验证引擎以使其与Opencart相同。我不是Wordpress专家,但我怀疑进行一些研究会很难。