首页建站经验 让ecshop会员修改自己信息增加密码问题验证

让ecshop会员修改自己信息增加密码问题验证

ecshop的会员用户中心,用户自己在修改用户信息时候,如果能增加上用户问题验证,能大大增加系统安全性,在优化上考虑是值得开发出这个功能,以下是技术工程师提供的方法。效果如下:1.…

ecshop的会员用户中心,用户自己在修改用户信息时候,如果能增加上用户问题验证,能大大增加系统安全性,在优化上考虑是值得开发出这个功能,以下是技术工程师提供的方法。

效果如下:

让ecshop会员修改自己信息增加密码问题验证

让ecshop会员修改自己信息增加密码问题验证

1.themes/default/user_transaction.dwt 将

修改为

*

*

修改为

*

2.js/user.js 找到function userEdit()中的

if (passwd_answer.length > 0 && sel_question == 0 || document.getElementById('passwd_quesetion') && passwd_answer.length == 0)

{

msg += no_select_question + '/n'; //www.zuimoban.com

}
替换为

if(!checkAnswer(passwd_answer)){

msg += '- ' + '密码问题答案不正确' + '/n';

}

在function userEdit()后添加

function checkAnswer(passwd_answer){

result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false );

result = result.replace(/^/s+|/s+$/g,"");

if ( result != "ok" ){

return false;

}else{

return true;

}

}

/* *

* 修改用户信息时验证密码问题

*/

function checkSelQuestion(sel_question){

if (sel_question == 0){

document.getElementById('sel_question_notice').innerHTML = '必须选择您的密码问题';

}

else{

result = Ajax.call( 'user.php?act=check_sel_question', 'sel_question=' + sel_question, null , 'GET', 'TEXT', false );

result = result.replace(/^/s+|/s+$/g,"");

if ( result == 'ok' ){

document.getElementById('sel_question_notice').innerHTML = '密码问题正确';

}

else{

document.getElementById('sel_question_notice').innerHTML = '请选择正确的密码问题';

}

}

}

/* *

* 修改用户信息时验证密码问题答案

*/

function checkSelAnswer(passwd_answer){

if (passwd_answer == 0){

document.getElementById('passwd_answer_notice').innerHTML = '必须填写您的密码问题答案';

}

else{

result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false );

result = result.replace(/^/s+|/s+$/g,"");

if ( result == 'ok' ){

document.getElementById('passwd_answer_notice').innerHTML = '密码问题答案正确';

}

else{

document.getElementById('passwd_answer_notice').innerHTML = '答案不正确请重新输入';

}

}

}

3.user.php中在

/* 用户登录界面 */

elseif ($action == 'login')

之前,添加

/*验证密码问题是否正确*/

elseif($action == 'check_sel_question'){

$sel_question = trim($_GET['sel_question']);

$question = $user->check_sel_question($user_id);

if (strcmp($sel_question, $question)!= 0){

echo 'false';

}

else{

echo 'ok';

}

}

/*验证密码问题答案是否正确*/

elseif($action == 'check_passwd_answer'){

$question = $user->check_sel_question($user_id);

$answer = $user->check_passwd_answer($user_id,$question);

$passwd_answer = trim($_GET['passwd_answer']);

if (strcmp($answer, $passwd_answer)!= 0){

echo 'false';

}

else{

echo 'ok';

}

}

4.includes/modules/integrates/integrate.php,在

/* 会员手机的字段名 */

var $field_phone = '';

之后,添加

/* 会员问题的字段名 */

var $field_question = '';

/* 会员问题的回答字段名 */

var $field_answer = '';

/**

* 检查cookie是正确,返回用户名

*

* @access public

* @param

*

* @return void

*/

function check_cookie()

之上,添加

/**

* 检查指定密码问题是否为注册时设置的那个

*

* @access public

* @param string $user_id 用户id

*

* @return boolean

*/

function check_sel_question($user_id){

if (!empty($user_id)){

$sql = "SELECT passwd_question" . $this->field_question .

" FROM " . $this->table($this->user_table).

" WHERE " . $this->field_id . "='" . $user_id . "'";

return $this->db->getOne($sql);

}

}

/**

* 检查指定密码问题答案是否正确

*

* @access public

* @param string $user_id 用户id

* @param string $question 密码问题

*

* @return boolean

*/

function check_passwd_answer($user_id,$question){

if (!empty($user_id)){

$sql = "SELECT passwd_answer" . $this->field_answer .

" FROM " . $this->table($this->user_table).

" WHERE " . $this->field_id . "='" . $user_id . "' AND passwd_question" . " = '" .$question. "'";

return $this->db->getOne($sql);

}

}

完成。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/17740.html
上一篇深入理解PHP中的Streams工具
下一篇 如何解决ECShop网店出现MySQL server error report错误提示
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部