建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > 建站必知 > 怎么在phpcms表单向导添加验证码

怎么在phpcms表单向导添加验证码

时间:2015-11-18 08:46:09  来源:免费模板网 作者:风雪 阅读次数 tags表单验证码

默认的phpcms 表单是没有验证码的,这样就有个bug会导致有人不断向你数据库插入垃圾数据,怎么解决这一问题呢,我们可以给他设置验证码。那么怎么添加呢

 
1首先是调用表单的页面加入验证码。表单js调用模版默认的是 \phpcms\templates\default\formguide\show_js.html.
 
在该文件里面找到这行代码,大概在23行

<tr>
      <th width="80">{if $info['star']} <font color="red">*</font>{/if} {$info['name']}
      </th>
      <td>{$info['form']}  {$info['tips']}</td>
    </tr>
{/loop}

在下面加入一行代码。
<tr><td style="text-align:right;">验证码</td><td colspan="2"><span title="点击更换验证码" style=" cursor:pointer;"><input type="text" id="code" name="code" size="8" class="input-text">{form::checkcode('code_img', '4', '14', 84, 24)}</span>请输入图片中的验证码</td></tr>

2,找到这个文件 \phpcms\modules\formguide\index.php
 
这个需要修改两处
 
1)在第三行找到这行代码。

defined('IN_PHPCMS') or exit('No permission resources.');
define('CACHE_MODEL_PATH',PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);

然后在后面加入下面两行代码

$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);

2)找到下面这行代码

if (isset($_POST['dosubmit'])) {
$tablename = 'form_'.$r['tablename'];
$this->m_db->change_table($tablename);

然后在下面加入下面这段代码
if(!empty($_SESSION['code'])) {
   //判断验证码
   $code = isset($_POST['code']) && trim($_POST['code']) ? trim($_POST['code']) : showmessage(L('input_code'), HTTP_REFERER);
   if ($_SESSION['code'] != strtolower($code)) {
    showmessage(L('code_error'), HTTP_REFERER);
   }
  }

这样就可以在phpcms v9表单向导中加入验证码了。

本文地址:https://www.freemoban.com/jzbz/2015/1118/2522.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!