Server : Apache System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/saimikebio.com/includes/modules/integrates/ |
<?php /** * ECSHOP 会员数据处理类 * ============================================================================ * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。 * 网站地址: http://www.ecshop.com * ---------------------------------------------------------------------------- * 这是一个免费开源的软件;这意味着您可以在不用于商业目的的前提下对程序代码 * 进行修改、使用和再发布。 * ============================================================================ * $Author: liubo $ * $Id: ecshop.php 17217 2011-01-19 06:29:08Z liubo $ */ if (!defined('IN_ECS')) { die('Hacking attempt'); } /* 模块的基本信息 */ if (isset($set_modules) && $set_modules == TRUE) { $i = (isset($modules)) ? count($modules) : 0; /* 会员数据整合插件的代码必须和文件名保持一致 */ $modules[$i]['code'] = 'ecshop'; /* 被整合的第三方程序的名称 */ $modules[$i]['name'] = 'ECSHOP'; /* 被整合的第三方程序的版本 */ $modules[$i]['version'] = '2.0'; /* 插件的作者 */ $modules[$i]['author'] = 'ECSHOP R&D TEAM'; /* 插件作者的官方网站 */ $modules[$i]['website'] = 'http://www.ecshop.com'; return; } require_once(ROOT_PATH . 'includes/modules/integrates/integrate.php'); class ecshop extends integrate { var $is_ecshop = 1; function __construct($cfg) { $this->ecshop($cfg); } /** * * * @access public * @param * * @return void */ function ecshop($cfg) { parent::integrate(array()); $this->user_table = 'users'; $this->field_id = 'user_id'; $this->ec_salt = 'ec_salt'; $this->field_name = 'user_name'; $this->field_pass = 'password'; $this->field_email = 'email'; $this->field_gender = 'sex'; $this->field_bday = 'birthday'; $this->field_reg_date = 'reg_time'; $this->need_sync = false; $this->is_ecshop = 1; } /** * 检查指定用户是否存在及密码是否正确(重载基类check_user函数,支持zc加密方法) * * @access public * @param string $username 用户名 * * @return int */ function check_user($username, $password = null) { if ($this->charset != 'UTF8') { $post_username = ecs_iconv('UTF8', $this->charset, $username); } else { $post_username = $username; } if ($password === null) { $sql = "SELECT " . $this->field_id . " FROM " . $this->table($this->user_table). " WHERE " . $this->field_name . "='" . $post_username . "'"; return $this->db->getOne($sql); } else { $sql = "SELECT user_id, password, salt,ec_salt " . " FROM " . $this->table($this->user_table). " WHERE user_name='$post_username'"; $row = $this->db->getRow($sql); $ec_salt=$row['ec_salt']; if (empty($row)) { return 0; } if (empty($row['salt'])) { if ($row['password'] != $this->compile_password(array('password'=>$password,'ec_salt'=>$ec_salt))) { return 0; } else { if(empty($ec_salt)) { $ec_salt=rand(1,9999); $new_password=md5(md5($password).$ec_salt); $sql = "UPDATE ".$this->table($this->user_table)."SET password= '" .$new_password."',ec_salt='".$ec_salt."'". " WHERE user_name='$post_username'"; $this->db->query($sql); } return $row['user_id']; } } else { /* 如果salt存在,使用salt方式加密验证,验证通过洗白用户密码 */ $encrypt_type = substr($row['salt'], 0, 1); $encrypt_salt = substr($row['salt'], 1); /* 计算加密后密码 */ $encrypt_password = ''; switch ($encrypt_type) { case ENCRYPT_ZC : $encrypt_password = md5($encrypt_salt.$password); break; /* 如果还有其他加密方式添加到这里 */ //case other : // ---------------------------------- // break; case ENCRYPT_UC : $encrypt_password = md5(md5($password).$encrypt_salt); break; default: $encrypt_password = ''; } if ($row['password'] != $encrypt_password) { return 0; } $sql = "UPDATE " . $this->table($this->user_table) . " SET password = '". $this->compile_password(array('password'=>$password)) . "', salt=''". " WHERE user_id = '$row[user_id]'"; $this->db->query($sql); return $row['user_id']; } } } } ?>