織夢(mèng)dedecms有自定義表單提交功能,這個(gè)很方便我們開(kāi)發(fā)一些小功能,例如在線報(bào)名,提交訂單以及掛號(hào)等功能,361源碼前面給大家介紹過(guò)這樣的實(shí)例,沒(méi)看過(guò)的朋友可以參看《織夢(mèng)dedecms建立留言系統(tǒng)及在線報(bào)名系統(tǒng)實(shí)例》做下了解。
但是總有些比較惡意的用戶不厭其煩的無(wú)限制重復(fù)提交,我們也實(shí)在沒(méi)有辦法,哎,這樣就給網(wǎng)站帶來(lái)非常高的維護(hù)成本,下面361源碼想了些辦法幫大家來(lái)解決這樣的一個(gè)小問(wèn)題,讓每個(gè)用戶24小時(shí)內(nèi)只能提交一次自定義表單,實(shí)現(xiàn)辦法如下:
1、首先我們打開(kāi)/plus/diy.php文件,在里面找到如下代碼:
if(!is_array($diyform)) { showmsg('自定義表單不存在', '-1'); exit(); }在其下面添加如下代碼:
//檢測(cè)游客是否已經(jīng)提交過(guò)表單 by 361源碼網(wǎng)www.survivalescaperooms.com if(isset($_COOKIE['VOTE_MEMBER_IP'])) { if($_COOKIE['VOTE_MEMBER_IP'] == $_SERVER['REMOTE_ADDR']) { ShowMsg('您已經(jīng)填寫(xiě)過(guò)表單啦','-1'); exit(); } else { setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/'); } } else { setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/'); }添加完成后保存覆蓋原來(lái)的diy.php文件就可以了,此方法是通過(guò)驗(yàn)證cookie的方式防止用戶重復(fù)提交,如果用戶清除cookie的話還是可以提交的。但是這樣的方法對(duì)于普通的無(wú)聊用戶還是有比較理想的效果的。如果哪位大神還有其他辦法可以聯(lián)系本站客服完善限制方法,造福更多草根站長(zhǎng)。謝謝。
以上就是DedeCMS自定義表單限制每個(gè)IP24小時(shí)只能提交一次的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和解決疑問(wèn)有所幫助,也希望大家多多支持武林網(wǎng)。新聞熱點(diǎn)
疑難解答
圖片精選