业务经理

微信扫描以上二维码

028-61286886

技术咨询

短信验证安全升级发送前需要图形码认证那接口咋整啊!!我用开发

迅睿框架 更新 2019-11-03 15:18:44 迅睿粉丝

https://www.xunruicms.com/doc/797.html
官方短信验证安全升级,发送前需要 图形码认证,
那API接口咋整啊!!  我用uniapp 开发  无法使用图形二维码!!!

能提供开关吗??或者api接口不进行限制,自己通过前端控制!

方案

  • 迅睿粉丝 #1 · 2019-11-01 18:03:01
    可以使用调用验证码图片显示到app中 https://www.xunruicms.com/doc/806.html
  • 迅睿粉丝 #2 · 2019-11-01 18:07:32
    config/hook.php
    \Phpcmf\Hooks::on('member_send_phone_before', function($phone) {
        // 手机发送验证码时不验证图片验证码
        $code = \Phpcmf\Service::C()->session()->get('captcha');
        if (!$code) {
            $code = 1234;
            \Phpcmf\Service::C()->session()->set('captcha', $code);
        }
        $_GET['code'] = $code;
    });
  • 迅睿粉丝 #3 · 2019-11-01 21:26:58

    易学习 使用您提供的方法,我测试结果是图片验证码未填写。



    image.png

  • 迅睿粉丝 #4 · 2019-11-02 11:30:48
    回复迅睿框架创始人


    image.png


    我已经获得了所有的数据,还是无法获得正确的图形码。

    大哥怎么取消这个验证码啊!!我想使用前段的一些插件形式的验证手段。。



    uni.request({
    				url: common.apiUrl + "index.php?s=member&c=api&m=register_code&id=" + _self.userName + "&code=" + _self.code,
    				method: 'POST',
    				header: {'Content-Type': 'application/x-www-form-urlencoded'},
    				data: {},
    				success: (res) => {
    				        console.log(res.data);
    						console.log(_self.userName);
    						console.log(_self.code);
    				    }
    			}),
    易学习 大哥 ,用了您的钩子,结果还是显示验证码未填。上面代码是没带钩子的测试代码。。。我把钩子文件是放在根目录下的config/hooks.php文件里面。
    你代码的意思是查询 图形码 ,如果不存在 设置为1234,如果存在就 用 $_GET['code'] 去获取?是这个意思吗??
    但是实际是显示图片验证码不正确。

    \Phpcmf\Hooks::on('member_send_phone_before', function($phone) {
        // 手机发送验证码时不验证图片验证码
        $code = \Phpcmf\Service::C()->session()->get('captcha');
        if (!$code) {
            $code = 1234;
            \Phpcmf\Service::C()->session()->set('captcha', $code);
        }
        $_GET['code'] = $code;
    });
  • 迅睿粉丝 #5 · 2019-11-02 11:50:00
    我看错了,我这个方法不能用于注册注册发验证码把code传输过去就行了
  • 迅睿粉丝 #6 · 2019-11-02 12:01:49
    易学习 我还是想把这个验证码取消,因为现在前端有很多好看好用的验证插件能用。。

    我现在通过前端传验证码,老是说验证码不正确。
  • 迅睿粉丝 #7 · 2019-11-02 12:04:01
    易学习 注册登陆 都不行。。 后台怎么传啊!!大哥


    image.png
  • 迅睿粉丝 #8 · 2019-11-02 12:06:22
    改了系统文件容易崩溃,我都不敢改
  • 迅睿粉丝 #9 · 2019-11-02 12:10:57
    index.php?s=member&c=api&m=register_code&id=手机号码&code=图片验证码的值",
  • 迅睿粉丝 #10 · 2019-11-02 12:19:53
    冰蓝 我现在使用的就是你这种方法调用的code, 但是我使用uniapp前端获取结果不对!!

    uni.request({
        url: common.apiUrl + "index.php?s=member&c=api&m=login_code&id=" + _self.userName + "&code=" + _self.code,
        method: 'POST',
        header: {'Content-Type': 'application/x-www-form-urlencoded'},
        data: {},
        success: (res) => {
        console.log(res.data);
        console.log(_self.userName);
        console.log(_self.code);
        }
    }),
  • 迅睿粉丝 #11 · 2019-11-02 12:20:29
    正解冰蓝
  • 迅睿粉丝 #12 · 2019-11-02 12:22:13
    回复迅睿框架创始人 老大,能取消图形验证码吗??
  • 迅睿粉丝 #13 · 2019-11-02 12:30:15
    可以,晚上我增加一个开关楼上这个方法是可行的:
    index.php?s=member&c=api&m=register_code&id=手机号码&code=图片验证码的值",
    许丰奕
  • 迅睿粉丝 #14 · 2019-11-02 18:15:20
    回复迅睿框架创始人 老大,各种方法都试过了,学艺不精没能搞定,,还是请老大弄各开关,我要关了他~~~


    image.png
  • 迅睿粉丝 #15 · 2019-11-03 01:27:36
    回复迅睿框架创始人 感谢老大深夜加班把短信验证码功能更新了!!这样的服务商,各位看官,没买程序的有什么理由不买!!!!!
  • 迅睿粉丝 #16 · 2019-11-03 01:43:49
    短信接口解决办法是首席指点的,我顺便把成功获取短信的方法放一下,
    https://xxxxxx/index.php?appid=1&appsecret=xxxxxxx&s=member&c=api&m=login_code&id=18866665555&code=1234",
    红色是的根据最新改变规则后增加的,更新最新程序到后台 系统>>API设置 设置禁用。
    -----------------------------------------------------------------------------------------------------
    不想再立新贴,干脆把短信及注册的问题一起放到这个贴里面一起解决吧~~



    我根据获取的短信,提交注册或登陆,都会提示未发送手机验证码,
    web端 使用短信验证登陆注册都正常
    移动端 不使用手机验证 常规注册登陆正常

    只是api接口在使用sms验证时不正常。

    登陆端api接口地址: https://xxxxxx/index.php?appid=1&appsecret=xxxxxxx&s=member&c=login&m=sms
    注册端api接口地址: https://xxxxxx/index.php?appid=1&appsecret=xxxxxxx&s=member&c=register


    一下截图是我注册时 post提交的数据,开发工具好像显示提交正常,只是服务端返回的是未发送手机验证码

    image.png
  • 迅睿粉丝 #17 · 2019-11-03 14:08:51
    满意答案
    更新一下程序试试
  • 迅睿粉丝 #18 · 2019-11-03 15:18:44
    迅睿框架创始人:老大,短信方式注册登陆全部OK了。辛苦了~~ 最后还反馈一个问题,就是注册自动登陆以后,不会返回auth,登陆后才有,我看这个问题前端解决算了。后端如果不麻烦,也可以更新下!!

迅睿系统漏洞

AI文章生成器
AI文章生成器(2026-09-20)
任务拆分独立配置 新增AI生成关键词 新增指令模板 新增品牌信...
GEO系统
GEO系统(2026-09-20)
后台 AEO 与运营端对齐:区域、跑批、CSV、补强、剧本均可在迅睿...
多语言翻译Seolang
多语言翻译Seolang(2026-09-18)
1. HTML lang 无需修改模板,自动适配当前语种页面 lan...
GeoSeo工具箱
GeoSeo工具箱(2026-09-18)
修正菜单规范
后台二次登陆验证
后台二次登陆验证(2026-09-18)
新增邮箱验证 新增短信验证
京东云短信
京东云短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
创蓝短信
创蓝短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
火山引擎短信
火山引擎短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
外贸多语言建站
外贸多语言建站(2026-09-17)
优化独立内容过滤机制