在某情况下我们想通过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>
以上就是青锋建站给大家分享的实现只有会员登录才能提交dede织梦自定义表单的解决方法,青锋建站,提供专业的高品质网站制作服务,包括网站建设,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,为企业构建强有力的营销平台。
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/memberform.html