pbootcms防止留言灌水时先发送手机验证码验证后再留言_PbootCMS教程
栏目:网络技术 发布时间:2023-06-07
之前开发一个小功能就是留言后发送短信到手机上。给朋友说了一下,然后他说他有一个客户需求是留言的时候先手机验证一下,避免有人乱留言。这其实是一个好主意,可以过滤掉

之前开发一个小功能就是留言后发送短信到手机上。给朋友说了一下,然后他说他有一个客户需求是留言的时候先手机验证一下,避免有人乱留言。这其实是一个好主意,可以过滤掉很多垃圾留言信息。


于是趁热打铁,前两天刚开发了留言发送到手机上以及注册会员时手机验证,正好可以使用到之前用过的方法来实现这一功能。


下面开始讲如何实现。

这个小功能呢,我看了一下代码,和上一次说的会员注册时需要一个短信验证差不多。代码也极为相似。

安排:

此次需要修改的文件一共有三个:

1:前端文件:template/default/html/message.html

2:  标签解析文件: apps/home/controller/ParserController.php

 3:  控制器文件: apps/homecontroller/MessageController.php



弟一:修改前端文件

这个比较简单,就是验证码的位置和上一篇文章提到的会员注册是一样的,添加一个发送短信的按钮。我们用:sendBook,之前注册会员短信验证我们用的是sendPhone,参考一下,其实都是一样的方法。

 <div class="form-group">

                    <label for="checkcode">手机验证码</label>

                    <div class="row">

                        <div class="col-6">

                            <input type="text" name="checkcode" required id="checkcode" class="form-control" placeholder="请输入验证码">

                        </div>

                        <div class="col-6">

                            <span  class="btn btn-info mb-2" onclick="sendBook();">发送短信</span>

                        </div>

                    </div>

                </div>



然后在下面的JS中添加


//发送短信验证码

function sendBook(){

  var url='{pboot:sendBook}';

  var username=$("#username").val();

  if(!username){

    alert("请先输入需要注册的手机号!");

    return false;

  }

  $.ajax({

    type: 'POST',

    url: url,

    dataType: 'json',

    data: {

      to: username

    },

    success: function (response, status) {

      if(response.code){

       alert(response.data);

      }else{

       alert(response.data);

      }

    },

     

  });

  return false;

}





第二:解析标签增加一个:sendBook,这个简单,复制上面的改名即可。



第三:重点来了。控制器文件MessageController.php中我们添加一个发送短信的函数。代码太多,我直接复制下来。


     // 发送短信

    public function sendBook()

    {

      

        

        if (time() - session('lastsend') < 10) {

            json(0, '您提交太频繁了,请稍后再试!');//间隔100秒才能再次提交。

        }        

           // 发送手机验证      

     


        if (! ! $to = post('to')) {           

            if (! preg_match('/^1[0-9]{10}$/', $to)) {

                json(0, '手机格式不正确,请输入正确的手机号!');

            }

        }      

      

        

        $rs = false;

        if ($to) {

            session('lastsend', time()); // 记录醉后提交时间      

            $code = create_code(4);// 验证码长度    

            session('checkcode', strtolower($code)); 

            $phone_body = "你的注册验证码是{" . $code."}";   

          

            $statusStr = array(

            "0" => "短信发送成功",

            "-1" => "参数不全",

            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",

            "30" => "密码错误",

            "40" => "账号不存在",

            "41" => "余额不足",

            "42" => "帐户已过期",

            "43" => "IP地址限制",

            "50" => "内容含有敏感词"

            );             

            $smsapi = "http://api.smsbao.com/";

            $user = "15800110475"; //短信平台帐号

            $pass = md5("ySShb2FD842DF"); //短信平台密码         

            $phone = post('to'); //接收短信的手机号码         

            $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($phone_body);

            $result =file_get_contents($sendurl) ;

            echo $statusStr[$result];          

    

        }

       if ($result  === true) {

             

        } else {

            

        }


        return $sendBook;

    

    }



然后在下面的留言新增的函数中修改如下验证码处的位置


  // 验证码验证

            

            $checkcode = strtolower(post('checkcode', 'var'));

            

            if ($this->config('message_check_code') !== '0') {

                               

                if (! $checkcode) {

                    alert_back('验证码不能为空!');

                }else{

                    $sendBook = $this->sendBook();//发送验证码 

                }

                

                if ($checkcode != session('checkcode')) {

                    alert_back('验证码错误!');

                } 


            }



# PbootCMS教程  # pbootcms防止留言灌水时先发送手机验证码验证后再留言  # 验证码  # 送手机  # 先发  # 灌水时  # 留言  # 防止  # pbootcms  # 潍坊网站建设模板服务  # 581营销推广  # 市场策划推广营销  # 佛山市网站建设系统  # 推广营销英语简称怎么写  # 为什么网站建设这么好呢  # 烟台微博营销推广  # 长治网站建设售后  # 怀化图文营销推广方法  # 舞钢seo优化排名  # 凌源搜索引擎seo优化  # 10年seo工资多少  # 种草网站建设目标  # 供应广州网站建设  # 石家庄网站推广的平台  # 小镇年度营销推广方案  # 洛阳网站建设课程评价  # 常熟网站优化推广找哪家  # 福建品质网站优化设计  # 这一  # 发送短信  # 注册会员  # 请输入  # 手机验证  # 会员注册  # 的是  # 是一个  # 您的  # 短信平台  # 厦门网站优化中心哪家好  # 来了  # 他说  # 太多  # 趁热打铁  # 说了  # 是一样的  # 请先  # 上一  # 帐号 


相关文章: 企业进行商城网站建设好不好?商城网站建设的优缺点有什么?  租用空间_租一个网站多少钱_租上海办公空间  企业网站建设步骤_企业网站建设公司流程_SEO技术难度高么  自己做的网站_自己做的网页怎么发布_自己组装电脑网站  保定网站建设费用_网站建设大约要多少钱_胜芳seo开发  怎么选网站建设公司?角点科技教你挑选专业网站建设公司  网站建设前需要考虑哪些问题?  上海浦东网站建设_浦东网站网站建设_英文SEO主管就业前景  贵阳SEO优化成功案例分析_SEO优化教程  【威海网站建设】威海网站建设制作设计平台_威海在线建网站  哪些工具可以监控网站流量以优化SEO?_SEO优化教程  网站建设价格明细表_网站建设价格明细_青龙发展网站建设方案*新  建设网站公司_建设网站公司哪好_seo外链优化平台  上海 网站建设_上海网站建设升级_苏州贸易网站建设单价  专业SEO优化策略与方法有哪些?_SEO优化教程  如何通过客户反馈优化湖州定制网站的服务流程_网站建设教程  如何对比安徽不同网站建设公司的报价方案_网站建设教程  【网站开发】使用flask开发的网站是什么?电子商务网站的一般结构是什么?  板栗行业移动端SEO优化_SEO优化教程  如何优化装修公司网站的在线咨询功能以提高转化_网站建设教程  【如何制作网页】用什么软件做网站比较好?如何制作一个简单的网页?如何自己做微信网页链接?  如何评估定制型网站服务的费用与价值_网站建设教程  自己设计衣服的网站_自己设计一个网站_自己设计网页  深圳SEO关键词优化的策略有哪些?_SEO优化教程  泰州企业网站建站模板_泰州企业网站建设_江苏网站seo优化  【制作网页】如何学习制作网页?较好的网页制作软件是什么?  织梦文章内容每个段落自动加工【伪原创内容提高收录排名插件】_织梦插件  房地产网站制作有哪些要求?房地产网站怎么制作?  【企业网站建设流程】做企业网站的步骤是什么,做企业网站的步骤?  阜新SEO优化的有效策略_SEO优化教程  保定网站制作费用_定州网站制作多少钱_禅城seo排名优化  成都企业通过SEO实现在线流量增长的策略_SEO优化教程  法律网站制作流程图_法律的网站_义乌市全国网站建设大赛  兰州响应式网站建设费用与传统网站有何差异_网站建设教程  有哪些*策略可以用于崇礼的SEO网站优化?_SEO优化教程  网站建设如何突出风格?  医疗网站建设中容易忽视的问题  北京建设网站公司有哪些_北京建设网站公司_网站推广营销哪家效果好  上海企业网站建设公司排名_上海企业网站建设_上海网站推广营销  【陇南网站建设】陇南网站建设制作公司_陇南网站建站建网站  常规网站建设费用包括哪些_常规网站建设费用怎么算_宁德营销推广报价  宁波市场的SEO需求_SEO优化教程  【网站设计个人】关于建立网站所需的技术是什么?小说网站是如何建设的?  成都机械网站建设注意什么?  网站关键词如何选择呢?新手建网站如何选择关键词呢?  建立一个独立网站多少钱啊_建立一个自己的网站需要多少钱_孝感服装关键词优化排名  电器网站建设方案_电器网站建设流程_维护网站建设路  SEO和付费推广的成本与效果对比_SEO优化教程  开展企业新闻营销活动注意事项  深圳网站建设在哪里可以做_深圳网站建设在哪里可以_禅城网站推广哪家专业 


相关栏目: 【 网络营销44070 】 【 网络推广122852 】 【 网络优化116010 】 【 网址导航102054 】 【 网络技术82194 】 【 网络资讯43554