destoon采集论坛

 找回密码
 立即注册
查看: 523|回复: 9

注册页手机短信验证码检测函数有错误

[复制链接]

11

主题

47

回帖

771

积分

高级会员

Rank: 4

积分
771
发表于 2016-2-16 21:51:00 | 显示全部楼层 |阅读模式
本帖最后由 uijk123 于 2016-2-16 21:57 编辑

今天测试了下短信接口,因为在其他短信平台上还有余额,所以就改了下/include/global.func.php这个文件里的send_sms函数,发送验证码和信息的功能都OK,就是PC端注册有个小BUG,无论输入的验证码是否正确,旁边都是红叉,这个表框的JS是onblur="validator('mobilecode');"
但是发现JS里的validator函数根本不能检测验证码啊,请管理员看看是否为BUG






a1.jpg (12.94 KB, 下载次数: 0)

下载附件


2016-2-16 21:57 上传






//以下为DT官方短信发送函数

function send_sms_old($mobile, $message, $word = 0, $time = 0) {
        global $db, $DT, $DT_TIME, $DT_IP, $_username;
        if(!$DT['sms'] || !DT_CLOUD_UID || !DT_CLOUD_KEY || !is_mobile($mobile) || strlen($message) query("INSERT INTO {$db->pre}sms (mobile,message,word,editor,sendtime,code) VALUES ('$mobile','$message','$word','$_username','$DT_TIME','$code')");
        return $code;
}



//以下为我根据官方二开文档改的

function send_sms($mobile, $message, $word = 0, $time = 0) {
global $db, $DT, $DT_TIME, $DT_IP, $_username;
$word or $word = word_count($message);
        
$sms_uid = '****************'; //短信接口帐号
$sms_key = '*****************'; //短信接口密钥
$sms_charset = 'UTF-8'; //您的网站编码
$sms_mobile = $mobile; //接收手机号码
$sms_message = convert($message, DT_CHARSET, 'UTF-8'); //短信内容

//对短信内容进行编码
$sms_message = rawurlencode($sms_message);

//发送短信
$codedd = file_get_contents('http://api.smsbao.com/sms?u='.$sms_uid.'&p='.$sms_key.'&m='.$sms_mobile.'&c='.$sms_message);

//处理发送结果
注:这个平台成功只返回0,所以要改造一下

if($codedd==0){
$code = 1;
}else{$code = 'Can Not Connect SMS Server';}

$db->query("INSERT INTO {$db->pre}sms (mobile,message,word,editor,sendtime,code) VALUES ('$mobile','$message','$word','$_username','$DT_TIME','$code')");
return $code;
}
回复

使用道具 举报

23

主题

420

回帖

997

积分

高级会员

Rank: 4

积分
997
发表于 2016-2-17 15:47:21 | 显示全部楼层

这里是没有问题的,你这样改了后台短信管理这里就没有成功标识了,真正的问题是SESSION变量的参数升级修改了没有改过来,只要改下api\ajax\member.inc.php文件
搜索:
[ol]
  • $_SESSION['mobile'][/ol]复制代码
    修改为:
    [ol]
  • $_SESSION['mobile_save'][/ol]复制代码
    就可以了
  • 回复 支持 反对

    使用道具 举报

    3

    主题

    1

    回帖

    19

    积分

    新手上路

    Rank: 1

    积分
    19
    发表于 2016-2-16 21:55:46 | 显示全部楼层

    大神你是对的,我也发现了这个问题。。。。
    不管发送几个验证码,都是现实错误的小红叉,不过还是可以顺利通过注册
    回复 支持 反对

    使用道具 举报

    11

    主题

    47

    回帖

    771

    积分

    高级会员

    Rank: 4

    积分
    771
     楼主| 发表于 2016-2-16 21:57:52 | 显示全部楼层

    zyhwoming 发表于 2016-2-16 21:55

    大神你是对的,我也发现了这个问题。。。。
    不管发送几个验证码,都是现实错误的小红叉,不过还是可以顺利 ...
    是的,只要输入的验证码正确,可以通过注册
    回复 支持 反对

    使用道具 举报

    57

    主题

    1729

    回帖

    4263

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    4263
    发表于 2016-2-16 21:55:00 | 显示全部楼层

    楼上应该可以
    回复 支持 反对

    使用道具 举报

    50

    主题

    3415

    回帖

    7668

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    7668
    发表于 2016-2-17 17:34:43 | 显示全部楼层

    不错,学习了
    回复 支持 反对

    使用道具 举报

    11

    主题

    47

    回帖

    771

    积分

    高级会员

    Rank: 4

    积分
    771
     楼主| 发表于 2016-2-18 09:09:21 | 显示全部楼层

    duoluozhe 发表于 2016-2-17 15:47

    这里是没有问题的,你这样改了后台短信管理这里就没有成功标识了,真正的问题是SESSION变量的参数升级修改 ...
    正解,感谢分享!

    回复 支持 反对

    使用道具 举报

    71

    主题

    3537

    回帖

    8055

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    8055
    发表于 2016-2-18 14:22:10 | 显示全部楼层

    学习一下
    回复 支持 反对

    使用道具 举报

    3

    主题

    2

    回帖

    21

    积分

    新手上路

    Rank: 1

    积分
    21
    发表于 2016-2-17 15:47:00 | 显示全部楼层

    我是3.0版本的,也是用其它平台的短信,请问怎么修改呢,我想用短信验证注册,求懂的大侠帮帮忙。
    回复 支持 反对

    使用道具 举报

    57

    主题

    1729

    回帖

    4263

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    4263
    发表于 2016-2-18 16:56:39 | 显示全部楼层

    学习了 我发现手机版的验证码都不能正确识别
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|Archiver|destoon采集论坛

    GMT+8, 2025-11-23 04:57 , Processed in 0.017298 second(s), 21 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表