不同的站點對安全級別的要求不同,Discuz! 允許站點管理者,通過自定義配置文件中的 config.inc.php 中的論壇安全設置來自由調整站點的安全級別,同時也可以增強論壇的安全性能和防禦性能。

上圖是 Discuz! 默認安裝後,config 文件的默認設置,如果管理員需要更改此安全設置,可以在論壇目錄下,找到 config 文件後打開,修改後保存即可。編輯配置文件時可使用記事本或其他編程軟件。

下面對此處關係到論壇安全設置的選項加以説明:

1 、 $forumfounders = '1';

論壇創始人 UID 。

可以支持多個創始人,之間使用 「,」 分隔。創始人的權限會高於普通管理員,後台有些重要的功能只有創始人登錄後,才可以進行管理,如:管理管理人員、模板管理、數據庫備份與恢復、進入 UCenter 等,所以通過設置論壇的創始人賬號,可以很大程度的提升論壇的安全級別。添加論壇創始人的方法請見:http://faq.comsenz.com/viewnews-861

2 、 $attackevasive = 0;

論壇防禦級別,可防止大量的非正常請求造成的拒絕服務攻擊。各項數據的含義為:0 = 關閉, 1 = cookie 刷新限制, 2 = 限制代理訪問, 4 = 二次請求, 8 = 回答問題 (第一次訪問時需要回答問題) 。如果需要設置多種防禦級別,可以使用 「|」 將各項級別數進行組合,例如:即限制代理訪問又要求第一次訪問時需要回答問題時,可以設置此項為 2|8 。

3 、 $urlxssdefend = 1;

論壇訪問頁面防禦開關。

可避免用户通過非法的 url 地址對本站用户造成危害,默認數值為 1,即打開,不建議修改為 0.

4 、 $admincp = array();

對管理員帳號的安全設置。

1) $admincp['forcesecques'] = 0;

管理人員必須設置安全提問才能進入系統設置, 0=否, 1=是 [安全] 。

此項為對論壇有管理權限的人員進入後台增加了一道安全屏障,只有管理員密碼和安全提問兩項全部填寫正確,才能進入後台。

2) $admincp['checkip'] = 1;

後台管理操作是否驗證管理員的 IP, 1=是 [安全], 0=否。僅在管理員無法登陸後台時設置 0 。

設置驗證管理員的 IP,可以防止該管理員帳號在多處登錄論壇後台,保障同一帳號對後台進行管理的唯一性。

3) $admincp['tpledit'] = 0;

是否允許在線編輯論壇模板 1=是 0=否 [安全]

默認為 0,當設置為 1 時,管理員可以在 管理中心 => 界面 => 模板管理 => 相應模板的詳情 中看到 「編輯」 、 「刪除」 的字樣,否則只可以看到 「查看」 的字樣,即不允許在線編輯模板。一般情況下,不建議將此項設置成允許在線編輯,把模板文件複製出來後再進行編輯,可以保證原模板文件的完整性,對於修改不當後產生的頁面錯誤問題可以得到及時的恢復。

4) $admincp['runquery'] = 1;

是否允許後台運行 SQL 語句 1=是 0=否 [安全]

默認為 1,即管理員可以在 管理中心 => 工具 => 數據庫 => 升級 中看到可輸入自定義 SQL 語句的文本框,當修改為 0 時,此文本框不顯示,只能在後台運行程序內置的 SQL 語句。當允許運行 SQL 語句時,除非保證語句完全正確,否則不要輕易運行,並且運行 SQL 語句前,一定要做好備份,否則運行不當,造成數據丟失或數據庫損壞,後果十分嚴重。

5) $admincp['dbimport'] = 1;

是否允許後台恢復論壇數據 1=是 0=否 [安全]

默認為 1,即允許管理員在 管理中心 => 工具 => 數據庫 => 恢復 中恢復數據,當修改為 0 時,選擇此項後,會出現不允許恢復數據的提示。當確定了要恢復的備份文件是最新的,正確的之後,再允許恢復數據,可以有效地防止恢復錯誤的備份導致論壇數據丟失的情況。