WordPress插件:后台注册通过短信验证用户手机号

日期: 标签:WordPress插件 30 条留言
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我
文章目录

经常上网的你,可能已经注意到,目前国内很多网站注册都需要填写手机号了,并且还要接收验证码以确认你是手机号的实际拥有人。这么做可能会引起很多人的反感,觉得这会泄露隐私,但是在目前国家大力实行手机号实名制以及网络实名制的大背景下,根据相关法律规定,网络运营者必须验证用户真实身份,否则会面临网站被关闭及罚款的处罚。目前国内手机号都已实名,验证手机号实际上就已经完成了监管层要求的验证用户真实身份的要求。

我们不争论验证用户手机号的合理性,作为守法公民,按法律规定行事准没错。在WordPress后台用户注册页面,默认只有用户名和电子邮件两个输入框,想要收集注册用户的手机号并验证真实性,该如何实现呢?经常访问露兜博客的朋友可能会记得我之前写过一个插件:WordPress自定义用户注册页面插件,通过这个插件可以扩展WordPress的注册表单功能。在这个插件的基础上,我利用了点业余时间,重新写了个注册时可以验证用户手机号的插件,暂且命名为:Ludou Phone Register

插件截图

插件功能

  • 在注册页面,可通过短信验证码验证用户手机号真实性
  • 在注册页面,用户可直接设置密码
  • 在后台 - 个人资料 - 修改手机号页面,用户可以修改手机号
  • 可防CSRF跨站攻击
  • 图片验证码自动过期,可防短信轰炸

短信接口

这里用到的短信接口是:阿里大于,为什么选用阿里大于作为本插件的短信服务商呢?主要有几点以下原因:

  • 有200条的体验短信,开发测试插件正好可以用到;
  • 个人用户也可以使用,很多短信接口只有企业可以用;
  • 限制一个手机号短信发送频率,防短信轰炸;
  • 大厂不解释。

不管在哪,发短信都是要收钱的,天下没有免费的午餐,具体价格表请看:短信价格表

在实名制的背景下,国内已经找不到不需要实名的短信发送接口了,同样要使用阿里大于必须需要实名,照指引用淘宝客户端扫描二维码按要求操作即可。

使用方法

  1. 阿里大于需要用淘宝账号登陆,没有的可以自己注册一个;
  2. 登陆阿里大于后台:登陆地址
  3. 在阿里大于后台 - 应用管理 - 应用列表中,创建一个应用,获取AppKey和App Secret;
  4. 在阿里大于后台 - 配置管理 - 验证码中,添加短信签名和短信模板,记下签名名称和模板ID;
  5. 短信签名是发送给用户的短信前面出现的网站名称;
  6. 短信模板中的验证码需要用${code}代替,如你可以设置模板内容为:
    ${code} 这是您的短信验证码,10分钟内有效。验证码 ${code} 等等,可自行发挥;
  7. 点此下载插件,并解压;
  8. 用文本编辑器(没有就用记事本)打开ludou-phone-register/config.php,按照注释替换成你的AppKey、App Secret、签名名称和模板ID,类似:
    // 阿里大于 应用 AppKey
    $appkey = '23456783';
    
    // 阿里大于 应用 App Secret
    $secret = 'cmmmmm0abcdefd8h35861a801ac752d5';
    
    // 验证码短信签名
    $sign = '露兜';
    
    // 验证码短信模板ID,如SMS_123456789
    $template = 'SMS_59855563';
  9. 将文件夹ludou-phone-register上传至WordPress插件目录下,即/wp-content/plugins/,然后到WordPress后台激活插件Ludou Phone Register即可,你的后台注册表单就已经像上图的一样了。该插件只针对单站点,开启WordPress多站点功能,本插件无效。

注意,本插件和Ludou Custom User Register插件不可同时使用,可能会出现冲突。

插件使用过程中有什么问题,随时可以:给我留言

本插件可以免费使用,需要本站提供二次开发、添加/修改功能等的才收费。

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/wordpress-register-check-user-phone-via-sms.html
露兜
ourwindow@163.com  QQ 825533758   微信号 ludou364939

业余编程爱好者,主业是贝壳工艺品商人,感兴趣可以到我的淘宝店看看:海叔贝爷

30 条留言

点此留言
  1. stream

    大大,这个短信插件是包含在注册插件里面还是另外一个插件啊

    • 露兜

      @stream 单独一个插件,两个插件不能同时安装。

  2. 唯历史

    收藏先,有修改的需求,一定找你啊

  3. 臭虾米

    一直用你的一些代码,很好用。

  4. 十三

    大大 请教你个问题 在博客首页要实现如下的显示方式要怎么设置呢?

    最新文章

    2017.05.04
    文章1
    文章2
    文章3

    2017.05.03
    文章4
    文章5
    文章6

    2017.05.03
    文章7
    文章8
    文章9
    ……

    就是同一天发布的文章在列头只显示一个发布时间 网上找了好久都没看多相关的教程 囧

    • 露兜

      @十三 先通过get_posts或者WP_Query获取所有文章,然后循环判断文章日期,统一日期直接输出文章标题,遇到不同日期就输出文章日期和文章标题,依次类推

  5. 龙笑天

    实名制的大环境下,这个还是非常值得使用与借鉴的~

  6. 5942吃

    爱你!!!终于又看到你更新了

  7. 瑞刚博客

    都很实用的文章

  8. 初心

    支持woocommerce商城页面注册登陆吗

    • 露兜

      @初心 没测试过,你可以安装试试看。woocommerce如果用的是WordPress默认的登陆注册页面,应该可以,不过我印象中它是改过登陆注册界面了。

      • 初心

        @露兜 是更改注册和登录页面了,不过好像支持do_action动作,你的这个插件支持吗

        • 露兜

          @初心 woocommerce自行测试吧,就一个下载上传启用的事情。

  9. 盘古科技

    说的很对,感谢楼主!

  10. Zixie

    一直看教程成长,露兜大大的教程还会那么给力。

  11. 明月登楼

    这个还是很有必要性的!不过,一定要注意隐私保护!

  12. wpku

    请教个问题,自定义的登陆和注册页面如何调用短信验证?

    • 露兜

      @wpku 这里面的代码繁杂,只能用插件了。
      既然你能够写代码自定义登陆注册,那就看看插件的代码复制过去吧

  13. 织梦

    怎么设置支持手机号登陆

  14. piwu

    可以群发短信么

  15. 拓拓

    阿里云的短信是不是改版了啊,我用了这个,都是显示发送失败

    • 臧臧

      @拓拓 我也在测试,一直是显示发送失败呢?
      楼主可否抽空测试下?

      • 露兜

        @臧臧 改版只是改了域名,接口及参数等都未修改。阿里大于新网址:https://dayu.aliyun.com/
        另请注意插件目录下config.php中的参数是否设置正确,正确的设置应该如下类似(请按自己的填):
        <?php

        // 阿里大于 应用 AppKey
        $appkey = '23456783';

        // 阿里大于 应用 App Secret
        $secret = 'cmmmmm0abcdefd8h35861a801ac752d5';

        // 验证码短信签名
        $sign = '露兜';

        // 验证码短信模板ID,如SMS_123456789
        $template = 'SMS_59855563';

    • 露兜

      @拓拓 改版只是改了域名,接口及参数等都未修改。
      阿里大于新网址:https://dayu.aliyun.com/

      • 拓拓

        @露兜 你这个还是老版的,现在是直接整合到阿里云了。只有$accessKeyId $accessKeySecret 统一的。不会有应用这个东西了。

        • 露兜

          @拓拓 https://dayu.aliyun.com/
          目前叫阿里云·云通信,测试可以正常使用。
          阿里云短信服务和阿里云·云通信是两个不同的产品,不存在新旧版之分。

  16. 小叶

    请问下 二次开发收费贵吗?我其实也在学,但是我有些小项目急需帮助和指导,所以咨询你。另外,也是觉得你的文章挺实用的,希望添加你为微信好友,方便沟通,可以吗?

发表留言