点标签看更多好帖
开启左侧

[学习借鉴] Discuz! X3 数据库优化及目录垃圾清理

[复制链接] 2
回复
9426
查看
打印 上一主题 下一主题
楼主
跳转到指定楼层
发表于 2017-3-3 02:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
http://bbs.zb7.com/thread-541282-1-1.html2 c5 V) |! f: H% G' R; D
8 m8 K3 A- g; g. Q1 l& |
8 I5 D; R) I  r( t" I

, J* p/ b8 ^( a1 A: b& C: h% G很多小站http://bbs.zb7.com/购买的数据库空间很有限,但没用多久数据库就没了,但其实并没有多少数据,下面简单说说以下几个表清空处理(操纵前请备份好数据库)。
+ u6 O" k  [5 I* p+ Lpre_common_block_item_archive  '区块数据存档 存在已经删除的文章 和主题帖
  N% d8 N9 l5 n5 v5 b9 z( g( Xpre_forum_spacecache ' 论坛空间缓存表- E. q  b& g$ h; E
pre_home_notification '空间通知表
0 }0 x4 `( S* E, n& |/ ]( Ppre_common_block_item 'DIY数据,建议在清空本表时,先导出所有DIY。然后清空DIY后,再清空本数据。再导入。: u  }- V7 e& O

% F4 ]# x2 P" d) t以下表根据实际情况操作:
+ a* O; @+ h+ u$ Y7 C' \游客,如果您要查看本帖隐藏内容请http://bbs.zb7.com/forum.php?mod=post&action=reply&fid=45&tid=541282
; z1 w4 p2 s; y; |/ |# ^- }/ g# C! Z" s/ B

2 Y- t4 |" D" r/ K! g
: V( j& V$ t: ]8 ?pre_common_block_pic'该表保存着数据调用及DIY调用的图片缩略图路径。
' _* Q( o) w+ l# C清空时可连同http://beimeilife.duckdns.org/bml1/blmpics/attachments/block文件夹一起清空(保留block文件夹下的index.htm)。# E1 G9 S3 X3 |7 M- _, |9 w$ U
不过清空后,所有DIY页面有图片的都需要手动更新数据。4 c0 @1 A5 w' |- P
更新数据后图片会自动生成。$ R6 M: i$ ]- X1 c6 |
清空此表及此目录的目地是为了清除沉余数据及文件。
: J4 u+ m) T2 V; j8 t开启图片模式的用户请勿清空本表,不然图片模式下的图片无法显示。4 G; d2 @  j' ~9 @8 C+ R
! ?% E7 d1 a4 O" I8 M( V

5 l+ T  Z8 u% J: i6 Lpre_common_block_item_archive '清空后空出2.7M空间7 }) o% d+ n! {
pre_forum_spacecache                   '清空后空出2.3M空间
$ H( u1 z: p4 u5 P6 Q( ?0 ypre_home_notification'清空后空出 31M空间
) p* t! w; ]. ~$ a* gpre_common_block_item'清空后空出1.9M空间
5 G) t. R0 H, j; ^, xpre_common_block      '删除多余数据后空出 13kb空间
9 }: D$ b* z8 d' Y2 H* mpre_common_credit_rule_log'清空后空出3.1M空间- d0 a" ^# K6 f2 n8 _8 o
: P( O3 D/ @: b( y% P
本来数据库已经有85M了,结果按以上方法忧化后, 就只有45M了。空出了40M左右。
- X: t' I5 p( A, o. B* {7 w5 j) l; `
注意了哦,是清空表,不是删除表。建议在操作前,请先备份数据库。# v4 j3 a- q/ b1 @/ C( ^) _: _
--------------------------------------------------------------------------------------------------) g- }; r; g/ ?8 o9 P
http://www.zb7.com/discuz/程序可清空目录列表
# {, Q, w" H# n5 H./data/imagecache' I9 ~: ~' a( \' O  H
./data/cache'(保留cache文件夹下的index.htm)
/ Y; }0 o0 r" ]/ ~0 o./data/threadcache'(保留threadcache文件夹下的index.htm)
& u" t" n0 @9 E4 R# y./http://beimeilife.duckdns.org/bml1/blmpics/attachments/temp* P$ I7 t2 l" Q0 n" h

6 I- s/ V  Y+ `. c: L8 }4 q- Y& x./http://beimeilife.duckdns.org/bml1/blmpics/attachments/forum/threadcover'是图片模式下的缩略图。* _/ Z' Z) I" {& N0 N  l7 l! Q5 D: i
如果你没用图片模式,可以直接删除里面的目录及文件,保留threadcover文件夹下的index.htm
4 f# ]% `- u5 w6 u1 I/ x3 h9 N6 z1 B/ Z. |- I, i8 H; g
在清空./data/cache目录后,一般要进入网站后台,更新一下缓存。不然网站首页将会严重错位。( s* ?( e# e' x  c& ]) h0 Y
-----------------------------------------------------------------------------------------------------------# H# k* O+ Z% h6 b1 \
DiscuzX3的数据库中存在的可删除的旧表:9 K* ]$ `1 a2 Y" A
1 P, o/ |' h1 Y6 I+ v
pre_home_viewlog                                         是旧程序的。可以删除,但最好先备份
1 X3 K0 D) C7 U: j/ S/ V4 c( zpre_forum_project                                         是旧程序的。可以删除,但最好先备份
: O/ g! F6 E6 K/ K) V- F: |pre_forum_postposition                                  是旧程序的。可以删除,但最好先备份; m. C& i& t9 Q
pre_forum_groupranking                                是旧程序的。可以删除,但最好先备份4 x& M+ m8 x5 S2 D6 h( w$ n
pre_common_moderate                             是旧程序的。可以删除,但最好先备份5 H/ o  l% U! s* S: Y3 q% Q- K
pre_common_member_stat_searchcache  是旧程序的。可以删除,但最好先备份
/ k: ?* u0 S2 V& Bpre_common_member_stat_search      是旧程序的。可以删除,但最好先备份' f- b8 e2 {, J( w
pre_common_member_stat_fieldcache      是旧程序的。可以删除,但最好先备份
7 i0 x2 |2 ]& i6 r% }7 R$ lpre_common_block_item_archive        是旧程序的。可以删除,但最好先备份4 K( v9 w! ?+ x" H6 E! u) c
pre_common_adminsession          是旧程序的。可以删除,但最好先备份
+ {: D( F8 e) M- e4 P5 O' vpre_common_addon                         是旧程序的。可以删除,但最好先备份* H1 i6 b- ]7 m! q1 _
: H$ Y4 F/ m) L8 }  `% P

3 z; }2 w1 d& |' R$ v1 I! @

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-44457-1-1.html 谢谢
沙发
发表于 2017-4-18 11:18 | 只看该作者
Discuz 哪些文件和文件夹需要777权限6 b4 G$ b6 [* q
./config/config_global.php
. n  q/ b) `. j8 `& M./config/config_ucenter.php! Z- `2 M9 V: y& g  ~* m; v9 A- I
./config
- O- i% I) Y8 }% F3 E% j./data3 ^) D: i+ z( u$ t
./data/avatar
) c4 ^) F/ ]+ g# @8 t2 {./data/plugindata0 ^8 @% N/ v0 Y2 `
./data/template
* R$ i2 T) w' T+ E! ~/ I% i/ j./data/threadcache
( _2 V( ]8 i, z2 d$ U* Z./http://beimeilife.duckdns.org/bml1/blmpics/attachments, s, _( a2 D( |# y
./http://beimeilife.duckdns.org/bml1/blmpics/attachments/album0 G" C4 N' B, a) R- y
./http://beimeilife.duckdns.org/bml1/blmpics/attachments/forum
+ k# m1 C1 h+ I; q; ?7 E4 R./http://beimeilife.duckdns.org/bml1/blmpics/attachments/group
) |3 ]3 W  U. A) l4 S) j./data/log
; G0 S4 s8 s! j1 _./uc_client/data/cache* i( h! S% `! i' A! ^
./uc_server/data/
/ J+ k2 I$ A7 E  K% \: {$ E./uc_server/data/cache
4 G0 o9 w0 ~+ K, n./uc_server/data/avatar) ?/ J2 @+ i. W6 E
./uc_server/data/backup6 W9 O5 X( |" Q7 `9 o" ^
./uc_server/data/logs
6 e% Z3 H+ ?% a# O) a6 a./uc_server/data/tmp6 O) E) |: x! A" `, w- X8 L
./uc_server/data/view
板凳
发表于 2017-4-18 11:19 | 只看该作者
https://security.tencent.com/index.php/blog/msg/17从Discuz论坛管理看网站安全防护
前言

) f2 K6 [/ s( }" u2 c* U9 g7 ^/ p
    Discuz是康盛公司推出的一套通用社区论坛软件系统,用户可以在不需要任何编程基础上,通过简单的设置和安装,在互联网上搭建起具有完善功能、高负载、高定制的论坛。Discuz是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。
# y; e8 y) ]9 i& q' T/ F
    由于Discuz的安装和管理极其方便,许多企业管理员并未对他的安全风险有相应的了解;Discuz作为开源软件,历史上被发现若干安全漏洞,极容易导致服务器被入侵。
- q7 s0 y8 X, |& Q
    出于工作需要,笔者经常会接触到公司的各类Discuz论坛,对Discuz的安全问题十分关注,这里给大家分享一些关于discuz论坛防护的方案,希望能给广大企业用户提供帮助。
. c3 x# h* b# v5 p8 W8 O6 j. R
    Discuz论坛管理大致分为服务器安全加固、网站安全加固、日常管理三个方面的内容,以下是详细的实施方案可供参考。

. s+ e  k7 }$ H) T3 n& i% ?) H3 \
服务器安全加固

- _3 o- M/ _6 e" ~/ t1 G1 F& W
确保网站安全首先要保证服务器各项组件的安全,如discuz服务器的一般组件有Apache、php、mysql等,确保这些第三方软件安全有如下一些原则:
$ S% R  C& T$ w- {8 b8 Z" L! z/ S
1、权限最小化

/ k: a; t3 q% J/ `. p$ ~a) Webserver及数据库服务均以非root权限启动;
( s7 H' r$ y. [: ?3 K- _
b) 文件属主与webserver进程属主不同(一般设置文件的属主为root)

) N  a( L9 l8 o0 D
c) 确保discuz网站的目录和文件权限最小化。
目录权限除必须为777的目录外,其他目录权限须设置为755文件权限除必须为777的文件外,其他文件权限须设置为644
d) 数据库与webserver不在同一台机器上

9 \7 U6 G/ o; M% f$ d
e) 可写的目录没有执行脚本权限,可执行脚本权限的目录不可写。
常见可写目录为:./config、./data、./uc_client/data/、./uc_server/data/常见不可解析php的目录为:./data/、diy、template、attachment、./install/images、forumdata、images在apache中配置不允许执行php权限如下:<Directory "/discuz/data/">    php_flag engine off    <Files ~ ".php">        Order allow,deny        Deny from all    </Files></Directory>
f) 控制脚本仅允许访问网站文件
在php.ini中配置open_basedir项为网站目录
9 }2 I& i" }* j8 h2 S; i# D4 G
2、默认选项需要加固

( c$ d* a) A) ^. M  o. C; r7 ]
a) 删除默认webserver页面7 J, X1 H6 j3 P) I( ?# u( M; t
如apache需要删除icons和manual两个目录
b) 禁用php危险函数
在php.ini配置:disable_functions=exec,popen,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open
& m0 Y! N( h- d8 t
3、敏感信息不显示
a) 关闭webserver的目录浏览功能
- h+ [4 g. R6 Q- g. ~& O
Apache配置文件中的目录配置项的“Indexes”删除或者改为“-Indexes”
b) 关闭php的错误消息显示& M5 X& n: P+ C- @
Php配置:display_errors = Off4 w) p, Z; J+ q' {' J# Z& D2 S; O
4、开启日志记录
a) 开启webserver的日志记录功能) ~- s. ~( c! T; U7 T
CustomLog /www/logs/access_log common
( u( D# a! u" w8 q
b) 开启php的错误日志记录功能0 a  y- s8 u8 C# c3 F/ t3 q3 X
log_errors = Onerror_log = D:/usr/local/apache2/logs/php_error.log注意:该文件必须允许apache用户的和组具有写的权限
8 A: T) @' h% a5 }! }
5、实施ip策略

) Q* ^8 w' m9 r7 {
a) 数据库仅开放在内网
6 K7 q; w7 o6 Y: I' t! U- m
b) 不允许任意ip连接数据库

; ?) v/ H8 U9 z
c) Iptables禁止所有的非法连接

5 \4 W7 `( d% D! `6 C
d) 管理目录仅允许内网访问

& j: V1 X, ]2 D$ Z) i9 @5 L- L
网站安全加固
; B% V; }+ I) B! m1 b8 E. `
服务器足够安全只是网站安全的前提,确保网站安全大致有如下措施:

  [: f, f6 _& y2 N; E& e7 x
1、账户安全
$ }6 M# c. c0 C
a) 用户密码需要加密存储
4 x# I( p1 b9 _# |, Eb) 用户密码需要采用密文的形式在网络上传输
3 U5 n1 K, u7 g0 a" A( t
2、后台管理

; o* [9 p1 r6 s0 h9 B/ d: R
a) 后台管理界面需要使用双因子确保管理员的合法性。常见的因子如(ip策略、token、用户密码)等。

) I# g- R4 }9 A8 u; @) ^$ u. Z
3、业务配置

9 p& K! |. b( D' k4 }5 z! D' k
a) 针对discuz业务特性,在安装的时候会删除不必要的插件
api目录(外部接口)里的以下功能如果不使用可以删除Db目录 ---> UCenter数据库备份接口google---google引擎使用Javascript目录 ---> 数据和广告的js调用Trade目录 ---> 在线支付接口Manyou目录 ---> 漫游和云平台使用
b) 关闭论坛的个人空间,防止恶意钓鱼,欺诈。
Discuz! X1.5关闭个人空间方式:修改文件 source/module/home/home_space.php,搜索如下代码:$do=(!empty($_GET['do'])&&in_array($_GET['do'], $dos))?$_GET['do']:'index';下面添加如下代码: if(in_array($do, array('home', 'doing', 'blog', 'album', 'share', 'wall'))) {showmessage('抱歉,家园功能尚未开启', 'forum.php');}Discuz! X2关闭个人空间方式:后台->全局->站点功能->功能模块(是否开启家园功能,点否即可关闭)
c) 检查crossdomain.xml文件,限制到特定的域名或者将此文件删除。

9 G" `1 O) X- d3 `5 P: H
d) 遵循Discuz常见安全配置
1、forumfounders= '1'论坛创始人UID,建议只有一个创始人。2、论坛防御级别配置attackevasive = 0 (由于会影响用户,这里默认是0,如果遭到 攻击,可以自行尝试1,2,4,8的配置)论坛防御级别,可防止大量的非正常请求造成的拒绝服务攻击。3、urlxssdefend = 1论坛访问页面防御开关。4、admincp['forcesecques'] = 1管理人员必须设置安全提问才能进入系统设置,0=否,1=是【安全】。5、admincp['checkip'] = 1后台管理操作是否验证管理员的 IP,1=是【安全】,0=否。6、admincp['tpledit'] = 0 (这项针对discuz! 7.2的安全配置)是否允许在线编辑论坛模板 1=是 0=否【安全】。7、admincp['runquery'] = 0是否允许后台运行SQL语句1=是,0=否【安全】。8、admincp['dbimport'] = 0是否允许后台恢复论坛数据 1=是 0=否【安全】。详细说明请参考:http://faq.comsenz.com/viewnews-924( ?. o# c# P1 T4 t3 w$ \

/ Q# T( b! }: B
日常管理
& J: p# J% v. j' b' y5 T  }8 ~; T4 A
1、 所有的第三方软件均需要使用最新版本,确保安全。
! k6 l9 j2 T' T* p
2、 关注所用到的第三方软件的安全信息,及时更新补丁或升级。如dz论坛容易出现nginx的解析漏洞
在PHP的配置文件php.ini中配置cgi.fix_pathinfo = 0,防止nginx文件解析漏洞
3、 关注官方发布的安全信息。; _4 i+ H# q7 H. D' x5 P
http://www.discuz.net/forum-10-1.html

: z- a2 T2 Q0 [  k; S, K
4、 dz论坛统一管理。统一化的管理可以高效的对discuz论坛进行更新、维护,避免出现各个管理员对安全信息掌握不一致的问题。
# {' [) \2 U7 j( ]& j
5、 增加dz的网站风险检测系统,24扫描dz站点,及时掌握dz的安全状况
: _8 g# F; {% _, N% `2 _/ x
6、 增加漏洞收集渠道,更好的掌握自身产品的安全漏洞。
" P$ |9 P* b7 M  t" G+ c* e: h& S" B
     作为普通网站的管理人员,通常需要遵循服务器安全加固中的1,2,3,4四点、网站安全加固的1,2两点、及日常管理的1,2,3三点用于确保网站的安全性。

" J- T6 l5 h( [' u
    中小型企业若使用到discuz论坛可以参考网站安全加固的业务配置选项,更好的防御discuz论坛。
7 |7 k6 D0 J3 o/ C
    对于人力不足或在短期内迫切需要提升网站安全性的管理人员来说,推荐使用安全宝(http://anquanbao.com/)或加速乐(http://www.jiasule.com/)的一键安全防护功能。
9 ]* y* w, [0 C( H! ?
, H, Z7 |! ]* Z1 |) O8 v0 S

7 l$ W" x5 X2 R+ R; j- i7 F/ D

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表