当前位置: 主页 > 建站教程 >

如何实现只有会员登录才能提交dede织梦自定义表单

  默认的dede自定义表单是任何人都可以提交,且不带必填项验证功能,很容易造成许多无用的表单。占用了数据空间不说,而且浪费了管理员的精力,还容易被黑客利用。
  在某情况下我们想通过dedeCMS织梦系统实现只有让会员登录才能看到某些会员产品,以及产品的价格,只能登录会员才能下订单的功能。但是默认的dedeCMS没有这样的功能,今天青锋建站给大家提供这一功能的解决方法,实现只有登录才能看到某些产品价格,才能下单。
  要实现这一功能就必须实现以下方法:实现自定义订单带权限认证、登录会员不能审核删除订单、会员登录才能看到产品价格、会员登录才能看到表单、表单增加必填项。以下是具体的实现步骤:

步骤一:实现dedeCMSPHP脚本会员验证功能

1、将/plus/下的diy.php、和/dede/下的diy_list.php移动到/member/目录下。一定要记住是移动,不然黑客还可以实现自建表单实现提交。
将这两个脚本添加会员验证功能:在这两个脚本的开始添加以下脚本require_once(dirname(__FILE__)."/config.php");CheckRank(0,0);

步骤二:实现防止黑客伪造表单

  由于即使我们实现了会员登录验证的功能,只是实现了只有登录用户才能查看、审核、删除、提交保存表单。黑客仍然可以自己注册一个账号,注册后伪造表单进行提交,因此需要添加以下脚本检查表单的来源,增强安全性。
只需要在diy.php步骤一添加脚本的下面增加以下脚本:
    $servername = $_SERVER['SERVER_NAME'];//当前服务器
    $url_from = $_SERVER['HTTP_REFERER']; //前一URL
    if ($servername != substr($url_from, 0, strlen($servername))) {
        $is_same_site = false;
    } else {
        $is_same_site = true;
    }
     
    if ($is_same_site) {
        die('禁止爬墙~~');
    }

步骤三:去掉会员审核删除表单的权限

在diy_list.php表单提交脚本中找到以下脚本:
else if ($action == 'edit')
Else if($action == 'check')
Else if($action == 'delete')
注册是删除这三个脚本对应的else if 后面的整个语句段,不是只删除这三个语句。这样做就实现了禁止会员编辑、审核、删除表单的权限。

步骤四:修改管理员默认使用脚本

  由于后台管理员使用的也是/plus/下的diy.php这个脚本,但是我们将这个脚本移动到了/member/下面,因此需要将diy.php这个脚本复制一份放到/dede/下面,将添加以下脚本:require_once(dirname(__FILE__)."/config.php");
CheckPurview('sys_User');
  这样做后dedeCMS后台管理菜单中的表单预览就出现了路径错误,还需要修改管理员菜单下的“前台预览”的脚本路径。将/dede/templets/下的diy_main.htm中的前台预览的链接地址改为新的链接地址就可以了:
<a href="diy.php?action=post&diyid={dede:field.diyid/}" target="_blank"><img src='images/gtk-tmp.png' title='预览' alt='预览' />前台预览</a>
分享到:

最新发布MORE

  • 网站banner设计_网站建设
  • 网站设计时的风格创新与统一原则-青锋建站
  • 符合seo的网站建设标准
  • 单页网站制作的应用场景与设计原则
  • 网站打开速度优化与减少加载项-web开发
  • 网站前端页面加载过程
  • web前端代码的规范与精简-网站开发教程
  • 响应式网站建设设计方法-石家庄网站制作公司
  • 为什么响应式网站建设更节省投入-石家庄网站制作
  • 网站建设要有明确的定位与网站优化
  • 石家庄网站建设   石家庄网络公司   网站建设教程   网络营销技巧   石家庄SEO   石家庄网络营销   网站案例   青锋工作室
  • 联系电话:15632335515   QQ:943703539
  • 联系地址:石家庄高新区汾河道69号
  • Copyright © 2016-2026 青锋建站 版权所有
  • 15632335515