POST TIME:2021-05-24 02:54
現在網上有一大堆所謂的營銷軟件,會自動搜索并注冊你的網站會有,然后發布垃圾信息,即使你使用了郵箱驗證也很難避免,因為對方郵箱也是自動注冊的也是真實的,其注冊與發布速度非常驚人,可能一夜之間你的網站就被發布幾百上千篇垃圾文章,因此我們需要防范這種情況出現。
以下是測試在最新的Dedecms5.7上成功的防止惡意注冊的方法:
防止惡意注冊
打開/member/reg_new.php,
找到
if($dopost=='regbase') {
在其下添加如下代碼:
if($reg_ha != '奔牛網') { ShowMsg('請正確輸入本網站名,本網站名為<font color=red><b>奔牛網</b></font>','-1'); exit(); }
然后打開/member/templets/reg-new.htm,在
<li><span>驗證碼:</span>
上添加:
<li> <span>隨機問題:</span> <input type="text" class="intxt w200" style="width: 100px;" name="reg_ha" size="25" maxlength="15" value="請輸入本網站名" onfocus="if (this.value=='請輸入本網站名')this.value=''" onblur="if (this.value=='')this.value='請輸入本網站名'"> <i class="red">*</i> <em id="_reg_answer">本網站名為:<font color=red><b>奔牛網</b></font>(請將<font color=red><b>奔牛網</b></font>輸入到左邊文本框</em>中) </li>
防范措施做完,接下來開始清理被批量注冊的垃圾會員和垃圾文章
批量刪除垃圾會員
批量刪除垃圾會員的辦法,可以通過dedecms后臺自帶的sql命令行工具執行SQL命令即可,方法如下:
后臺-系統-sql命令行工具:
如果是要刪除管理員以外的其他所有會員,則SQL命令如下:
delete from dede_member where not mid='1'
前提是你的管理員id為1,一般默認情況下id為1的即為管理員用戶,所以上述代碼保留了mid為為1的用戶。另外,如果你需要刪除某一范圍的會員,則代碼如下:
delete from dede_member where mid between 2 and 10000
命令很簡單一看就懂,刪除mid從2到10000的會員。這里不多列舉了,你可以根據自己的需要進行條件篩選刪除。
批量刪除垃圾文章
批量刪除垃圾文章的方法跟批量刪除垃圾會員的方法差不多,通過執行SQL命令即可,一般地會員投稿后默認為待審核狀態,因此,如果需要刪除這些垃圾文章,我們只需要通過執行SQL命令來刪除待審核的文章就行,SQL命令如下:
delete from dede_archives where arcrank=-1
提示運行成功后,就可以把垃圾會員及其發布的垃圾文章快速刪除了