最近發現論壇已經禁止所有用戶組匿名發貼,禁止版塊匿名發帖功能,但是論壇卻一直有匿名發布的帖子?在論壇的后臺也找不到發帖者用戶名,而且帖子數據表中UID為空。只有一種原因那就是網站有漏洞,但是我們應該如何去修改呢?接下來為大家介紹一下DZ論壇如何禁止匿名發帖功能修改教程,有需要的小伙伴可以參考一下:
1、檢查后臺禁止匿名權限:
(1)、在后臺找到“板塊”下的“版塊管理”,編輯所有板塊,在“帖子選項”下找到“允許匿名發帖”選項選中“否”保存即可
(2)、切換到“用戶”菜單,選中左側“用戶組”,點擊對應用戶組后面的編輯,在“論壇相關”下找到“帖子相關”然后在“允許匿名發帖”選項選中“否”保存即可
PS:如果更改全部用戶組,我們可以使用批量編輯功能設置禁止匿名發帖
2、匿名發帖漏洞
(1)、如果站長沒有將Discuz X升級到最新版本。攻擊者可以利用匿名發帖漏洞繞過權限發布匿名發帖。
(2)、默認DiscuzX程序是這樣判斷的:如果沒有這個會員,或者會員主動選擇匿名,都顯示為匿名。
3、漏洞修復:
我們需要在source/module/forum/forum_post.php文件的85行添加判斷即:凡是沒有uid的帖子,一律禁止發帖,添加以下代碼然后,保存文件,在后臺更新緩存即可
if(!$_G['uid']) { showmessage('沒有權限,禁止匿名發帖!'); }