精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-01-28
最后修改:2012-07-23
SPS Discuz7.2 超强给力修改版
Discuz目前最新版为DZ X2,但功能繁多程序臃肿,如果仅是搭建一个论坛那么使用DZ7.2是较好的选择。
Security: SPS版登录验证时采用SHA256散列经过SITE_SALT掺盐处理后的口令,即使网站未使用TLS/SSH协议保护且存在网络嗅探也具有相当的安全性;入库口令采用bcrypt(blowfish)处理,无论是跑字典还是制作彩虹表的成本都相当大。并且可以根据(自己网站的或者破解者的)服务器运算性能设定 work factor(BC_FACTOR)值让该算法运算开销在安全性和性能之间达到一个平衡————如果日后处理器运算性能大幅度提高,那么提高 work factor 值即可让运算速度降下来。对口令的SHA256+bcrypt结合处理方式极大提高了网站账户安全水平。
pgsql给力的部分索引功能让你可以通过监控网站运行时SQL执行压力有针对性地创建特定索引来实现特定查询(比如版块精华帖)性能的大幅度提升。 移除与论坛无关的信息采集发送代码,删除新版本自动升级通知的接口避免论坛受到此接口漏洞的攻击。
Stability:
SHA1: 6306bb1837d6ebd3f70c5c72f35521854b7b10aa *bin\init_site_rights.sh
ADD: PHP需要PDO以及PDO postgresql驱动 .
------------------------------update 2012.02.14
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-02-07
严重支持。 作为曾经的discuz用户对这些问题深有体会。 不知道你这个修改能否改善discuz论坛的灌水问题?
|
|
返回顶楼 | |
发表时间:2012-02-07
good.
不过原版的7.2性能还好吧. Discuz由诞生以来出现的问题都不是由暴力破解引起的, 而是一些不经意留下的漏洞被人找到和利用, 所以在密码加密那的工作是更完善了, 但我想那些不怀好意的人也不会钻原本就硬的墙, 而多是选择其他途径 |
|
返回顶楼 | |
发表时间:2012-02-08
yawei 写道 严重支持。 作为曾经的discuz用户对这些问题深有体会。 不知道你这个修改能否改善discuz论坛的灌水问题?
对于绕过放灌水机制的手段我不清楚所以无法针对性地封堵,不过多半是采用SQL注入方式。如果是这种方式那么SPS修改版采用的PDO::prepare/PDO::quote+transaction组合方式基本可以杜绝这漏洞。 |
|
返回顶楼 | |
发表时间:2012-02-08
nakupanda 写道
good.
不过原版的7.2性能还好吧. Discuz由诞生以来出现的问题都不是由暴力破解引起的, 而是一些不经意留下的漏洞被人找到和利用, 所以在密码加密那的工作是更完善了, 但我想那些不怀好意的人也不会钻原本就硬的墙, 而多是选择其他途径
不过主要问题还是在于数据库,MySQL在大并发海量数据下问题多多。对于DZ7.2来说如果数据量超过(大概)300万那么性能将会急剧恶化(如果服务器磁盘IO性能强悍会不明显)。 对DZ口令存储方式的修改主要是避免被拖库后的暴力破解,http://www.cmd5.com/ 的破解方式已经保护DZ的口令散列处理方式 .
PS: SPS将会有个更新版出来,除了修补已有的bug(主要是修改版带来的),更采用每个版块一个post表对应的方式在建立版块的时候自动创建数据库表,对性能提高更大。附件表使用tid散列方式分表,同样提升数据库性能。
|
|
返回顶楼 | |
发表时间:2012-02-09
Discuz有你这种粉丝真是不枉此生啊...
|
|
返回顶楼 | |
发表时间:2012-02-09
最后修改:2012-02-09
nakupanda 写道 Discuz有你这种粉丝真是不枉此生啊...
不太粉~ 是帮朋友论坛升级,看丫的代码实在是不少洞洞遂修补之。改了之后发现mysql数据库才是性能瓶颈所在,于是干脆把数据库也更换了,这下代码改动就大大了…… |
|
返回顶楼 | |
发表时间:2012-02-09
2012.02.09更新
2012/02/09: 数据库结构有变化,所以必须以新版本的sql创建数据库表 + 创建版块时自动为此版块创建关联post分区表,可极大地提高数据库读写性能。删除版块时自动删除关键post分区表 + 使用tid散列方式分割附件分区表,可大幅度提高数据库读写性能 + 搜索字符串支持过滤符号(+-! AND OR), 高级搜索中的“作者”关键字也同步更新。 比如可以“postgresql -mysql” 或者 “postgresql !mysql”来排除mysql关键字, 以“postgresql +mysql” 或者 “postgresl AND mysql”来实现约束. 注意如果输入“php -"java ok"”的效果等同于“php -php +ok”,可以这样输入“php -java -ok”来实现预期 * 管理中心回收站主题列表日期改为"Y-m-d H:i:s"显示详细时间 - 管理中心添加用户后用户名未同步更新到FTS表中 - 搜索大小写敏感 - 管理中心回收站主题列表操作人栏结果有时不能正确显示操作人及操作时间(SQL bug) - 管理中心回收站主题搜索SQL bug +添加,*修改,-修复 |
|
返回顶楼 | |
发表时间:2012-02-10
waiting 写道 nakupanda 写道 Discuz有你这种粉丝真是不枉此生啊...
不太粉~ 是帮朋友论坛升级,看丫的代码实在是不少洞洞遂修补之。改了之后发现mysql数据库才是性能瓶颈所在,于是干脆把数据库也更换了,这下代码改动就大大了…… discuz产品不错,就是漏洞太多,而且很多问题一直得不到修复,难得碰上你这种高手。 我看他们应该找你做架构师兼系统分析。 |
|
返回顶楼 | |
发表时间:2012-02-10
我记得discuz的时区换算也有问题, 国内使用大家都是北京时间所以没影响,也不知道现在修复没有。
|
|
返回顶楼 | |