欢迎来到六久阁织梦模板网!
pbootcms防止留言灌水时先发送手机验证码验证后再留言

pbootcms防止留言灌水时先发送手机验证码验证后再留言

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2023-06-07

文章简介

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

  • 正文开始
  • 热门文章

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


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


下面开始讲如何实现。

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

安排:

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

pbootcms防止留言灌水时先发送手机验证码验证后再留言

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('验证码错误!');

                } 


            }


插件下载说明

未提供下载提取码的插件,都是站长辛苦开发,需收取费用!想免费获取辛苦开发插件的请绕道!

织梦二次开发QQ群

本站客服QQ号:3149518909(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » pbootcms防止留言灌水时先发送手机验证码验证后再留言

标签:
  • PbootCms关闭自动更新的方法二开必备
    阅读
    在使用PbootCms做网站的过程中,难免会遇到一些二次开发的内容。网站后台有在线更新的按钮。 如果做了二开,那么更新就需要慎重了。比较保险的做法是禁用掉在线更新。 操作方法 通常的做法是在 \apps\admin\view\default\system\home.html \apps\admin\view\...
  • pbootcms忘记后台密码-pbootcms后台密码遗忘,如何找回?
    阅读
    pbootcms是一款功能强大的内容管理系统,它为用户提供了方便快捷的网站建设和管理工具。由于各种原因,有时候我们可能会忘记pbootcms后台的登录密码,这给我们的网站管理带来了一定的困扰。那么,当我们忘记了pbootcms后台密码时,应该如何找回呢?本文将从...
  • PbootCms导航菜单标签调用小技巧
    阅读
    PbootCms官方群里每天都会有一些小白问一些很简单没啥技术含量的问题,导致大家都懒的教,技术讨论的质量越来越低。 这里我把一些小白常遇到的问题理一理,希望对新手有些帮助,当然,最好还是提升下自身的基础知识储备,早日走向大神之路。 关于导航菜单 {@...
  • pbootcms免费插件下载、pbootcms免费插件下载中心,助你快速获取所需插件
    阅读
    pbootcms是一款免费的内容管理系统,它提供了丰富的插件下载中心,为用户快速获取所需插件提供了便利。我将详细介绍pbootcms免费插件下载和下载中心的各个方面,帮助读者更好地了解和使用这个功能。 1. 插件下载中心的背景 在开始介绍pbootcms的插件下载中心...
  • pbootcms怎么修改网站模板(pbootcms教程:简易教你修改网站模板,打造个性化中心)
    阅读
    pbootcms是一款功能强大的网站模板管理系统,它提供了丰富的模板资源和灵活的修改方式,让用户可以轻松打造个性化的网站。在本篇文章中,我将为大家介绍如何使用pbootcms修改网站模板,以打造个性化的中心。 让我们来了解一下pbootcms的背景信息。pbootcms是...
  • PbootCMS网站打不开,PbootCMS网站无法访问:解决方案大揭秘
    阅读
    在当今数字化时代,网站已经成为人们获取信息、交流和商业活动的重要平台。有时我们可能会遇到PbootCMS网站打不开或无法访问的问题,这给我们的工作和生活带来了困扰。本文将详细阐述PbootCMS网站打不开和无法访问的原因,并提供解决方案,帮助读者解决这一...
  • pbootcms生成静态、pbootcms静态生成:高效实现网站静态化
    阅读
    pbootcms是一款高效的网站管理系统,它提供了静态生成的功能,可以帮助用户将网站内容快速生成静态页面。本文将详细介绍pbootcms生成静态、pbootcms静态生成的过程和优势,希望能引起读者的兴趣。 在互联网时代,网站的访问速度和用户体验是至关重要的。传统...
  • PbootCms扩展控制器本地正常上传到服务器就出错的解决办法
    阅读
    PbootCms扩展标签定制个性化时间的文章定制了自己想要的时间格式,结果本地正常,上传到服务器环境后就不生效。 原因是PbootCms官方的一个小BUG,截至V2.0.9仍然存在。如果你也遇到,可以参考一下解决方案。 解决办法 如下图标记,路径前有一个点。 解决办法...
  • pbootcms后台左边菜单如何修改
    阅读
    第一种:直接后台链接操作 超级管理后台登录后台,手动访问这个链接(你的后台登录地址/Menu/index)打开菜单列表,找到系统管理-系统菜单点击状态启用,接着去重新登录后即可。 注意:截图里用的是默认后台 登录 地址域名/admin.php,根据实际情况输入。 下...
  • pbootcms更换模板方法,pbootcms模板更换方法详解
    阅读
    pbootcms是一款功能强大的开源内容管理系统,它提供了丰富的模板选择,让用户可以轻松更换自己喜欢的模板。本文将详细介绍pbootcms的模板更换方法,帮助读者了解如何进行模板更换,并提供一些实用的技巧和注意事项。 一、背景介绍 pbootcms是一款基于PHP+MyS...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
Pbootcms文章内链重复字段无效怎么处理
« 上一篇 2023年06月30日
PbootCMS实现后台编辑器微信公众号图片本地化
下一篇 » 2023年07月02日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多
织梦文学资讯散文美文门户站带手机端会员中心投稿
更新时间:2019-09-06

人已经看过了!

织梦HTML5响应式自适应文化传媒公司网站模板
更新时间:2019-09-19

人已经看过了!

现代简约HTML5自适应家装设计类织梦模板
更新时间:2018-04-17

人已经看过了!

木质地板-家具橱柜织梦模板 带手机版
更新时间:2017-08-10

人已经看过了!

织梦模板素材源码下载站带会员中心带手机模板
更新时间:2019-09-05

人已经看过了!

高端品牌建筑装饰类响应式织梦模板
更新时间:2017-08-10

人已经看过了!

大气红色地方门户新闻文章资讯dedecms模板(带手机端)
更新时间:2019-11-08

人已经看过了!

精仿砍柴网模板响应式布局(带wap自适应)织梦模板
更新时间:2017-08-10

人已经看过了!