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