如何實現只有會員登錄才能提交dede織夢自定義表單

發布時間:2017-12-04 20:09:49 來源:青鋒建站 作者:青鋒建站
  默認的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>

  以上就是青鋒建站給大家分享的實現只有會員登錄才能提交dede織夢自定義表單的解決方法,青鋒建站,提供專業的高品質網站制作服務,包括網站建設,SEO,網絡營銷,PHP開發,網站建設知名品牌,全國接單,為企業構建強有力的營銷平臺。
分享到:

Copyright © 2016-2026 青鋒建站 版權所有

彩票怎么买 nba1.16公牛vs骑士 慧投金融配资 黑龙江彩6十1开奖结果 av日本女优 多乐彩 快船vs凯尔特人 浙江11选5 日本av专用播放器 海南4+1 中国对韩国排球比分 陕西快乐10分 三级片有哪些视频聊天 福建22选5 母乳黄色片 雷速体育即时比分 一本高清无码东京热