系統(tǒng)的配置

2024-07-17 23:47 更新

為了獲取更多最新內(nèi)容及功能更新,請(qǐng)直接訪(fǎng)問(wèn)我們的首頁(yè)以查看DzzOffice筆記的最新地址。

系統(tǒng)安全注意事項(xiàng)

1、禁止長(zhǎng)期放置phpinfo等探針,phpmyadmin等管理程序,需要的時(shí)候放置,并在使用完畢后移至非站點(diǎn)目錄。

2、禁止在運(yùn)行的站點(diǎn)內(nèi)放置測(cè)試程序,備份目錄如bak,old文件夾一律移到非站點(diǎn)目錄。

3、禁止放置install文件夾,以及upgrade、index 相關(guān)安裝和升級(jí)文件。

4、禁止目錄下出現(xiàn)編輯器編輯后自動(dòng)生成的備份文件。

5、打包站點(diǎn)得來(lái)的zip,tar.gz,tar文件,一律不能放到站點(diǎn)目錄下。

6、除config/、data/目錄外,其他目錄設(shè)置成root權(quán)限,禁止其他用戶(hù)組修改。

7、設(shè)置禁止訪(fǎng)問(wèn)config/、data/目錄下的php文件。

系統(tǒng)的配置文件

文件:/config/config.php問(wèn):數(shù)據(jù)庫(kù)密碼問(wèn)了怎么辦?怎么修改數(shù)據(jù)庫(kù)密碼?下面將為您介紹在 /config/config.php 文件中的各項(xiàng)配置,包括數(shù)據(jù)庫(kù)、內(nèi)存服務(wù)器優(yōu)化、服務(wù)器、頁(yè)面輸出、站點(diǎn)安全等方面的設(shè)置。

數(shù)據(jù)庫(kù)相關(guān)設(shè)置

  1. 數(shù)據(jù)庫(kù)主服務(wù)器設(shè)置:支持多組服務(wù)器設(shè)置,根據(jù)分布式策略使用某個(gè)服務(wù)器,提高數(shù)據(jù)庫(kù)的可用性和負(fù)載能力。
  2. 數(shù)據(jù)庫(kù)從服務(wù)器設(shè)置:使用此方式連接時(shí),dbhost 設(shè)置為 localhost,支持多組服務(wù)器設(shè)置,系統(tǒng)根據(jù)每次隨機(jī)使用,提高數(shù)據(jù)庫(kù)的讀性能,同時(shí)保證數(shù)據(jù)的一致性。
  3. 啟用從服務(wù)器的開(kāi)關(guān):在需要時(shí)啟用從服務(wù)器,提高數(shù)據(jù)庫(kù)的讀性能。
  4. 數(shù)據(jù)庫(kù)分布部署策略設(shè)置:通過(guò)設(shè)置不同的部署策略,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的負(fù)載均衡和高可用性。
  5. 數(shù)據(jù)庫(kù)公共設(shè)置:此類(lèi)設(shè)置通常針對(duì)每個(gè)部署的服務(wù)器,包括數(shù)據(jù)庫(kù)的字符集、時(shí)區(qū)等公共配置,適用于所有部署的服務(wù)器。
  6. 禁用從數(shù)據(jù)庫(kù)的數(shù)據(jù)表:表名字之間使用逗號(hào)分割,防止從數(shù)據(jù)庫(kù)的表被誤操作,保證數(shù)據(jù)的安全。
  7. 這兩個(gè)表僅從主服務(wù)器讀寫(xiě):不使用從服務(wù)器,確保數(shù)據(jù)的一致性,同時(shí)避免從服務(wù)器的負(fù)載過(guò)高。
// CONFIG DB // 數(shù)據(jù)庫(kù)相關(guān)設(shè)置 /** * 數(shù)據(jù)庫(kù)主服務(wù)器設(shè)置, 支持多組服務(wù)器設(shè)置, 當(dāng)設(shè)置多組服務(wù)器時(shí), 則會(huì)根據(jù)分布式策略使用某個(gè)服務(wù)器。這樣可以提高數(shù)據(jù)庫(kù)的可用性和負(fù)載能力。 * @example * $_config['db']['1']['dbhost'] = 'localhost'; // 服務(wù)器地址 * $_config['db']['1']['dbuser'] = 'root'; // 用戶(hù) * $_config['db']['1']['dbpw'] = '';// 密碼 * $_config['db']['1']['dbcharset'] = 'gbk';// 字符集 * $_config['db']['1']['pconnect'] = '0';// 是否持續(xù)連接 * $_config['db']['1']['dbname'] = 'x1';// 數(shù)據(jù)庫(kù) * $_config['db']['1']['tablepre'] = 'pre_';// 表名前綴 * * $_config['db']['2']['dbhost'] = 'localhost'; * ... */ $_config['db'][1]['dbhost'] = 'localhost';//支持三種直接加端口如:127.0.0.1:3306或使用UNix socket 如:/tmp/mysql.sock $_config['db'][1]['dbuser'] = 'root'; $_config['db'][1]['dbpw'] = 'root'; $_config['db'][1]['dbcharset'] = 'utf8'; $_config['db'][1]['pconnect'] = 0; $_config['db'][1]['dbname'] = 'dzzoffice'; $_config['db'][1]['tablepre'] = 'dzz_'; $_config['db'][1]['port'] = '3306';//mysql端口 $_config['db'][1]['unix_socket'] = '';//使用此方式連接時(shí) dbhost設(shè)置為localhost /** * 數(shù)據(jù)庫(kù)從服務(wù)器設(shè)置( slave, 只讀 ), 支持多組服務(wù)器設(shè)置, 當(dāng)設(shè)置多組服務(wù)器時(shí), 系統(tǒng)根據(jù)每次隨機(jī)使用。這樣可以提高數(shù)據(jù)庫(kù)的讀性能,同時(shí)保證數(shù)據(jù)的一致性。 * @example * $_config['db']['1']['slave']['1']['dbhost'] = 'localhost'; * $_config['db']['1']['slave']['1']['dbuser'] = 'root'; * $_config['db']['1']['slave']['1']['dbpw'] = 'root'; * $_config['db']['1']['slave']['1']['dbcharset'] = 'gbk'; * $_config['db']['1']['slave']['1']['pconnect'] = '0'; * $_config['db']['1']['slave']['1']['dbname'] = 'x1'; * $_config['db']['1']['slave']['1']['tablepre'] = 'pre_'; * $_config['db']['1']['slave']['1']['weight'] = '0'; //權(quán)重:數(shù)據(jù)越大權(quán)重越高 * * $_config['db']['1']['slave']['2']['dbhost'] = 'localhost'; * ... * */ $_config['db']['1']['slave'] = array(); //啟用從服務(wù)器的開(kāi)關(guān)。這樣可以在需要時(shí)啟用從服務(wù)器,提高數(shù)據(jù)庫(kù)的讀性能。 $_config['db']['slave'] = false; /** * 數(shù)據(jù)庫(kù) 分布部署策略設(shè)置。通過(guò)設(shè)置不同的部署策略,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的負(fù)載均衡和高可用性。 * * @example 將 user 部署到第二服務(wù)器, session 部署在第三服務(wù)器, 則設(shè)置為 * $_config['db']['map']['user'] = 2; * $_config['db']['map']['session'] = 3; * * 對(duì)于沒(méi)有明確聲明服務(wù)器的表, 則一律默認(rèn)部署在第一服務(wù)器上。這樣可以確保沒(méi)有明確指定的表不會(huì)被遺漏,保證數(shù)據(jù)的一致性。 * */ $_config['db']['map'] = array(); /** * 數(shù)據(jù)庫(kù) 公共設(shè)置, 此類(lèi)設(shè)置通常對(duì)針對(duì)每個(gè)部署的服務(wù)器。這些設(shè)置包括數(shù)據(jù)庫(kù)的字符集、時(shí)區(qū)等公共配置,適用于所有部署的服務(wù)器。 */ $_config['db']['common'] = array(); /** * 禁用從數(shù)據(jù)庫(kù)的數(shù)據(jù)表, 表名字之間使用逗號(hào)分割。這樣可以防止從數(shù)據(jù)庫(kù)的表被誤操作,保證數(shù)據(jù)的安全。 * * @example session, user 這兩個(gè)表僅從主服務(wù)器讀寫(xiě), 不使用從服務(wù)器。這樣可以確保數(shù)據(jù)的一致性,同時(shí)避免從服務(wù)器的負(fù)載過(guò)高。 * $_config['db']['common']['slave_except_table'] = 'session, user'; * */ $_config['db']['common']['slave_except_table'] = '';

內(nèi)存服務(wù)器優(yōu)化設(shè)置

  1. PHP擴(kuò)展組件支持:確保內(nèi)存服務(wù)器的優(yōu)化設(shè)置生效,提高系統(tǒng)的性能。
  2. 內(nèi)存變量前綴:可更改,避免同服務(wù)器中的程序引用錯(cuò)亂,保證系統(tǒng)的穩(wěn)定性。
  3. Redis設(shè)置:需要 PHP 擴(kuò)展組件支持,確保 Redis 緩存的正確配置,提高系統(tǒng)的性能。
  4. 是否使用 Redis::SERIALIZER_IGBINARY 選項(xiàng):需要 igbinary 支持,確保 Redis 序列化的正確性,提高系統(tǒng)的穩(wěn)定性。
  5. 支持以下選項(xiàng):默認(rèn)使用 PHP 的 serializer,確保數(shù)據(jù)序列化的正確性,提高系統(tǒng)的穩(wěn)定性。
// CONFIG MEMORY // 內(nèi)存服務(wù)器優(yōu)化設(shè)置 /** * 以下設(shè)置需要PHP擴(kuò)展組件支持,其中 memcache 優(yōu)先于其他設(shè)置, * 當(dāng) memcache 無(wú)法啟用時(shí),會(huì)自動(dòng)開(kāi)啟另外的兩種優(yōu)化模式, * 這樣可以確保內(nèi)存服務(wù)器的優(yōu)化設(shè)置生效,提高系統(tǒng)的性能。 */ //內(nèi)存變量前綴, 可更改,避免同服務(wù)器中的程序引用錯(cuò)亂。這樣可以避免內(nèi)存變量被其他程序誤引用,保證系統(tǒng)的穩(wěn)定性。 $_config['memory']['prefix'] = 'dzzoffice_'; /* reids設(shè)置, 需要PHP擴(kuò)展組件支持, timeout參數(shù)的作用沒(méi)有查證。這樣可以確保 Redis 緩存的正確配置,提高系統(tǒng)的性能。*/ $_config['memory']['redis']['server'] = ''; $_config['memory']['redis']['port'] = 6379; $_config['memory']['redis']['pconnect'] = 1; $_config['memory']['redis']['timeout'] = 0; $_config['memory']['redis']['requirepass'] = '';//如果redis需要密碼,請(qǐng)?zhí)顚?xiě)redis密碼 /** * 是否使用 Redis::SERIALIZER_IGBINARY選項(xiàng),需要igbinary支持,windows下測(cè)試時(shí)請(qǐng)關(guān)閉,否則會(huì)出>現(xiàn)錯(cuò)誤Reading from client: Connection reset by peer * 這樣可以確保 Redis 序列化的正確性,提高系統(tǒng)的穩(wěn)定性。 * 支持以下選項(xiàng),默認(rèn)使用PHP的serializer * Redis::SERIALIZER_IGBINARY =2 * Redis::SERIALIZER_PHP =1 * Redis::SERIALIZER_NONE =0 //則不使用serialize,即無(wú)法保存array */ $_config['memory']['redis']['serializer'] = 1; $_config['memory']['memcache']['server'] = '127.0.0.1'; // memcache 服務(wù)器地址 $_config['memory']['memcache']['port'] = 11211; // memcache 服務(wù)器端口 $_config['memory']['memcache']['pconnect'] = 1; // memcache 是否長(zhǎng)久連接 $_config['memory']['memcache']['timeout'] = 1; // memcache 服務(wù)器連接超時(shí) $_config['memory']['memcached']['server'] = '127.0.0.1'; // memcached 服務(wù)器地址 $_config['memory']['memcached']['port'] = 11211; // memcached 服務(wù)器端口 $_config['memory']['memcached']['pconnect'] = 1; // memcached 是否長(zhǎng)久連接 $_config['memory']['memcached']['timeout'] = 1; // memcached 服務(wù)器連接超時(shí) $_config['memory']['apc'] = 1; // 啟動(dòng)對(duì) apc 的支持 $_config['memory']['xcache'] = 1; // 啟動(dòng)對(duì) xcache 的支持 $_config['memory']['eaccelerator'] = 0; // 啟動(dòng)對(duì) eaccelerator 的支持 $_config['memory']['wincache'] = 1; // 啟動(dòng)對(duì) wincache 的支持

服務(wù)器相關(guān)設(shè)置

  1. 服務(wù)器編號(hào):多 webserver 時(shí),用于標(biāo)識(shí)當(dāng)前服務(wù)器的 ID,方便服務(wù)器管理,提高系統(tǒng)的可維護(hù)性。
  2. CONFIG CACHE 緩存類(lèi)型:設(shè)置緩存類(lèi)型,提高系統(tǒng)的性能。
// CONFIG SERVER // 服務(wù)器相關(guān)設(shè)置 $_config['server']['id'] = 1; // 服務(wù)器編號(hào),多webserver的時(shí)候,用于標(biāo)識(shí)當(dāng)前服務(wù)器的ID。這樣可以方便地進(jìn)行服務(wù)器管理,提高系統(tǒng)的可維護(hù)性。

緩存設(shè)置

// CONFIG CACHE // 緩存設(shè)置 $_config['cache']['type'] = 'sql'; // 緩存類(lèi)型 file=文件緩存, sql=數(shù)據(jù)庫(kù)緩存

頁(yè)面輸出設(shè)置

  1. 頁(yè)面字符集:確保頁(yè)面的字符集正確,避免亂碼問(wèn)題。
  2. 強(qiáng)制輸出頁(yè)面字符集:用于避免某些環(huán)境亂碼,確保頁(yè)面字符集的一致性,提高用戶(hù)體驗(yàn)。
  3. 是否采用 Gzip 壓縮輸出:減少頁(yè)面加載時(shí)間,提高用戶(hù)體驗(yàn)。
  4. 模板自動(dòng)刷新開(kāi)關(guān):確保模板的實(shí)時(shí)更新,提高系統(tǒng)的性能。
  5. 頁(yè)面語(yǔ)言:設(shè)置頁(yè)面語(yǔ)言,提高用戶(hù)體驗(yàn)。
// CONFIG OUTPUT // 頁(yè)面輸出設(shè)置 $_config['output']['charset'] = 'utf-8'; // 頁(yè)面字符集。這樣可以確保頁(yè)面的字符集正確,避免亂碼問(wèn)題。 $_config['output']['forceheader'] = 1; // 強(qiáng)制輸出頁(yè)面字符集,用于避免某些環(huán)境亂碼。這樣可以確保頁(yè)面字符集的一致性,提高用戶(hù)體驗(yàn)。 $_config['output']['gzip'] = 0; // 是否采用 Gzip 壓縮輸出。這樣可以減少頁(yè)面加載時(shí)間,提高用戶(hù)體驗(yàn)。 $_config['output']['tplrefresh'] = 1; // 模板自動(dòng)刷新開(kāi)關(guān) 0=關(guān)閉, 1=打開(kāi) $_config['output']['language'] = 'zh-cn'; // 頁(yè)面語(yǔ)言 zh-cn/zh-tw。這樣可以設(shè)置頁(yè)面語(yǔ)言,提高用戶(hù)體驗(yàn)。 $_config['output']['language_list']['zh-cn']='簡(jiǎn)體中文'; // 頁(yè)面語(yǔ)言 zh-CN/en-US $_config['output']['language_list']['en-US']='English'; // 頁(yè)面語(yǔ)言 zh-CN/en-US $_config['output']['staticurl'] = 'static/'; // 站點(diǎn)靜態(tài)文件路徑,“/”結(jié)尾 $_config['output']['ajaxvalidate'] = 0; // 是否嚴(yán)格驗(yàn)證 Ajax 頁(yè)面的真實(shí)性 0=關(guān)閉,1=打開(kāi) $_config['output']['iecompatible'] = 0; // 頁(yè)面 IE 兼容模式

COOKIE 設(shè)置

//CONFIG COOKIE // COOKIE 設(shè)置 $_config['cookie']['cookiepre'] = 'dzzoffice_'; // COOKIE前綴 $_config['cookie']['cookiedomain'] = ''; // COOKIE作用域 $_config['cookie']['cookiepath'] = '/'; // COOKIE作用路徑

站點(diǎn)安全設(shè)置

  1. 站點(diǎn)加密密鑰:確保站點(diǎn)的數(shù)據(jù)安全,防止數(shù)據(jù)泄露。
  2. 自身 URL XSS 防御:防止 XSS 攻擊,提高站點(diǎn)的安全性。
  3. CC 攻擊防御:防止 CC 攻擊,提高站點(diǎn)的可用性。
  4. 是否開(kāi)啟 SQL 安全檢測(cè):自動(dòng)預(yù)防 SQL 注入攻擊,提高站點(diǎn)的安全性。
  5. 站點(diǎn)創(chuàng)始人:確保站點(diǎn)的安全管理,防止未經(jīng)授權(quán)的訪(fǎng)問(wèn)和操作。
  6. 后臺(tái)管理操作是否驗(yàn)證管理員的 IP:提高后臺(tái)管理的安全性,防止非法訪(fǎng)問(wèn)。
  7. 是否允許后臺(tái)運(yùn)行 SQL 語(yǔ)句:確保后臺(tái)操作的安全性,防止誤操作導(dǎo)致的數(shù)據(jù)丟失或泄露。
  8. 是否允許后臺(tái)恢復(fù)網(wǎng)站數(shù)據(jù):確保站點(diǎn)數(shù)據(jù)的安全性,防止數(shù)據(jù)丟失或泄露。
  9. 用戶(hù)登錄錯(cuò)誤驗(yàn)證 ip:防止惡意登錄嘗試,提高站點(diǎn)的安全性。
  10. 用戶(hù)登錄超時(shí):確保用戶(hù)登錄的安全,防止未授權(quán)訪(fǎng)問(wèn)。
  11. 操作系統(tǒng)編碼:確保操作系統(tǒng)的字符集設(shè)置正確,提高系統(tǒng)的穩(wěn)定性。
// CONFIG SECURITY // 站點(diǎn)安全設(shè)置 $_config['security']['authkey'] = 'dzzoffice'; // 站點(diǎn)加密密鑰。這樣可以確保站點(diǎn)的數(shù)據(jù)安全,防止數(shù)據(jù)泄露。 $_config['security']['urlxssdefend'] = true; // 自身 URL XSS 防御。這樣可以防止 XSS 攻擊,提高站點(diǎn)的安全性。 $_config['security']['attackevasive'] = 0; // CC 攻擊防御 1|2|4|8。這樣可以防止 CC 攻擊,提高站點(diǎn)的可用性。 $_config['security']['querysafe']['status'] = 1; // 是否開(kāi)啟SQL安全檢測(cè),可自動(dòng)預(yù)防SQL注入攻擊。這樣可以防止 SQL 注入攻擊,提高站點(diǎn)的安全性。 $_config['security']['querysafe']['dfunction'] = array('load_file','hex','substring','if','ord','char'); $_config['security']['querysafe']['daction'] = array('@','intooutfile','intodumpfile','unionselect','(select', 'unionall', 'uniondistinct'); $_config['security']['querysafe']['dnote'] = array('/*','*/','#','--','"'); $_config['security']['querysafe']['dlikehex'] = 1; $_config['security']['querysafe']['afullnote'] = 0;

站點(diǎn)創(chuàng)始人設(shè)置

// CONFIG ADMINCP // 站點(diǎn)創(chuàng)始人設(shè)置 $_config['admincp']['founder'] = '1'; // 站點(diǎn)創(chuàng)始人:擁有站點(diǎn)管理后臺(tái)的最高權(quán)限,每個(gè)站點(diǎn)可以設(shè)置 1名或多名創(chuàng)始人。這樣可以確保站點(diǎn)的安全管理,防止未經(jīng)授權(quán)的訪(fǎng)問(wèn)和操作??梢允褂胾id,也可以使用用戶(hù)名;多個(gè)創(chuàng)始人之間請(qǐng)使用逗號(hào)“,”分開(kāi);

用戶(hù)相關(guān)設(shè)置

// CONFIG USERLOGIN // 用戶(hù)相關(guān)設(shè)置 $_config['admincp']['checkip'] = 1; // 后臺(tái)管理操作是否驗(yàn)證管理員的 IP, 1=是[安全], 0=否。僅在管理員無(wú)法登錄后臺(tái)時(shí)設(shè)置 0。這樣可以提高后臺(tái)管理的安全性,防止非法訪(fǎng)問(wèn)。 $_config['admincp']['runquery'] = 0; // 是否允許后臺(tái)運(yùn)行 SQL 語(yǔ)句 1=是 0=否[安全]。這樣可以確保后臺(tái)操作的安全性,防止誤操作導(dǎo)致的數(shù)據(jù)丟失或泄露。 $_config['admincp']['dbimport'] = 0; // 是否允許后臺(tái)恢復(fù)網(wǎng)站數(shù)據(jù) 1=是 0=否[安全]。這樣可以確保后臺(tái)操作的安全性,防止誤操作導(dǎo)致的數(shù)據(jù)丟失或泄露。 $_config['userlogin']['checkip'] = 1; //用戶(hù)登錄錯(cuò)誤驗(yàn)證ip,對(duì)于同一ip同時(shí)使用時(shí)建議設(shè)置為0,否則當(dāng)有一位用戶(hù)登錄錯(cuò)誤次數(shù)超過(guò)5次,該ip被鎖定15分鐘,導(dǎo)致其他的同IP用戶(hù)無(wú)法登錄。這樣可以防止惡意登錄嘗試,提高站點(diǎn)的安全性。 //$_config['system_os'] = 'linux'; //windows,linux,mac,系統(tǒng)會(huì)自動(dòng)判斷。這樣可以確保操作系統(tǒng)編碼的正確設(shè)置,提高系統(tǒng)的穩(wěn)定性。 //$_config['system_charset']='utf-8'; //操作系統(tǒng)編碼,不設(shè)置系統(tǒng)將根據(jù)操作系統(tǒng)類(lèi)型來(lái)判斷l(xiāng)inux:utf-8;windows:gbk。這樣可以確保操作系統(tǒng)的字符集設(shè)置正確,提高系統(tǒng)的穩(wěn)定性。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)