一、目錄權限設置
web服務器運行的用戶與目錄所有者用戶必須不一樣,比如apache運行的用戶為www,那么網(wǎng)站目錄設置的所有者就應該不能設置為www,而是設置不同于www的用戶,如centos。
我們這里假設web服務器以www用戶運行,網(wǎng)站分配的用戶為centos,dedecms網(wǎng)站根目錄為/home/centos/web。
不建議用戶把欄目目錄設置在根目錄, 原因是這樣進行安全設置會十分的麻煩, 在默認的情況下,安裝完成后,目錄設置如下:
1、首先設置網(wǎng)站目錄所有者為centos,用戶組為www,目錄設置為750,文件為640。
cd /home/centos chown -R centos.www web find web -type d -exec chmod 750 {} \; find web -not -type d -exec chmod 640 {} \; |
設置可讀寫權限:
cd /home/centos/web chmod -R 770 templets uploads a images |
apache的設置,在apache配置文件中加入如下代碼(以uploads目錄為例,其它設置基本相同)。
<Directory /home/centos/web/uploads> php_flag engine off </Directory> <Directory ~ '^/home/centos/web/uploads'> <Files ~ '.php'> Order allow,deny Deny from all </Files> </Directory> nginx的設置如下: location ~* ^/(templets|uploads|a|images)/.*\.(php|php5)$ { deny all; } |
三、data目錄路徑更改
另外在DedeCMS V5.7中用戶也可以設定data目錄到上一級非web訪問目錄,基本操作如下:
1.將data目錄移動到上一級目錄中,這里直接剪切過去就可以了;
2.配置include/common.inc.php中DEDEDATA文件
define(‘DEDEDATA’, DEDEROOT.’/data’);
可以改成類如:
define(‘DEDEDATA’, DEDEROOT.’/../../data’);
3.后臺設置模板緩存路徑
四、其它需注意問題
1、雖然對 install 目錄已經(jīng)進行了嚴格處理, 但為了安全起見,我們依然建議把它刪除;
2、不要對網(wǎng)站直接使用MySQL root用戶的權限,給每個網(wǎng)站設置獨立的MySQL用戶帳號,許可權限為:
SELECT, INSERT , UPDATE , DELETE,CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES
由于DEDE并沒有任何地方使用存儲過程,因此務必禁用 FILE、EXECUTE 等執(zhí)行存儲過程或文件操作的權限。
假設我們建立的數(shù)據(jù)庫名為centosmysql,數(shù)據(jù)庫用戶為centosmysql,密碼為123456,具體設置命令如下:
mysql -uroot -p mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON centossql.* TO centossql@localhost IDENTIFIED BY 123456; mysql>FLUSH PRIVILEGES; mysql>exit |
4、關注后臺更新通知,檢查是否打上最新dedeCMS補丁。
5、登錄后臺時使用禁止javascript的瀏覽器登錄。