`

project bbs_discuz

阅读更多

 

百万级PHP网站架构工具箱

http://zhengdl126.iteye.com/blog/726799

 

在了解过世界最大的PHP 站点,Facebook的后台技术 后,今天我们来了解一个百万级PHP站点的网站架构 :Poppen.de。Poppen.de是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql 、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Tsung。

 

 

 

Discuz!6.0.0升级Discuz! X1.5
Discuz!7.0 测试版升级到正式版升级教程

http://www.discuz.net/thread-1139744-1-1.html
Discuz! 6.1.0到Discuz! 7.0.0升级图文教程

http://faq.comsenz.com/viewnews-448
Discuz! 6.0.0到Discuz! 7.0.0升级图文教程

http://faq.comsenz.com/viewnews-450

 

discuz bbs 6.0-7.0
http://faq.comsenz.com/viewnews-450
7.0 - 7.2
http://faq.comsenz.com/viewnews-891
7.0 - X1.5
http://faq.comsenz.com/usersguide

 

 

Comsenz 核心产品 Discuz! 7.0.0 正式版发布【2009.08.18 更新】
http://www.discuz.net/thread-1144076-1-1.html

 

 

DZ中cdb_members 的password与uc_members的password

http://www.redicecn.com/html/qita/20101021/181.html

 

discuz的ucenter和bbs研究,包括资料和密码修改,用户登录等的分析

http://hi.baidu.com/gjpdeyx/blog/item/570314d9a7c635d78d1029ad.html

 

http://download.comsenz.com/Discuz/7.0.0/

Comsenz 核心产品 UCenter 1.5.2 发布【2010.09.20 更新】

http://www.discuz.net/thread-1896330-1-1.html

UCenter 1.5.2 简体中文 UTF8
http://download.comsenz.com/UCenter/1.5.2/UCenter_1.5.2_SC_UTF8.zip

UCenter 升级教程
1. UCenter 1.0.0到UCenter 1.5.2
首先参看以下教程(此教程同样适用于1.5.0,1.5.1, 1.5.2)
http://faq.comsenz.com/viewnews-452
2. UCenter 1.5.0 以上版本的升级(1.5.0,1.5.1)
您只需要下载程序包,将upload当中的文件上传到服务器,覆盖旧的文件即可。
注意: upload 目录中的 install 和 upgrade 目录不需要上传,如果已经上传,请使用ftp删除他

 

 

 

 

Duplicate entry '%s' for key %d
http://faq.comsenz.com/?action-viewnews-itemid-100

 

错误编号: 1062

问题分析:

向唯一字段插入相同数据。

解决方法:

1、请检查程序是否做了修改,如果修改过,建议用我们的原程序覆盖您的修改,再次检查问题。

2、如果您的站点上有 phpMyAdmin ,还可以通过他检查下您的数据库中出错的表的自增字段的当前自增值是否和该表中自增字段的最大值相同,如果相同则会出现该错误。

3、如果您正在转移数据库,请确认数据库的版本是否相同。

4、如果以上方法还未解决,请恢复备份,用 DBCheck 将数据库检验为标准结构,并且重新开始升级。

 

方法 2 的检查修改详细流程:(以 Discuz! 的 threads 表为例,其他操作均相同)

1)进入您的 phpMyAdmin ,然后在左侧选择您出错的数据库。

2)选择您出错的表,并找到该表的自增字段,有 auto_increment 标识的字段即为该表的自增字段。

3)点击浏览,然后根据自增字段降序排序,记下自增字段的当前最大值。

4)点击该页面上方的操作,会看到“表选项”中的 auto_increment 项,这就是下一条你要插入的数据的自增字段的值,如果这个值和刚才记下的当前自增字段的最大值一样,就会报错了,所以将这个值改为大于刚才记下的当前自增 字段的最大值,然后点击“执行”,即可解决问题。

示例中给出的当前自增字段的最大值为 54 ,而下一条你要插入的数据的自增字段的值为 55 ,这样则不会有问题。

 

http://dl.iteye.com/topics/download/1657b24e-6835-3371-bb99-78a6fdab5a30

 

 

Tools3.0UC.zip

http://www.discuz.net/forum.php?mod=viewthread&tid=1024280

使用方法:
下载压缩包后,打开tools.php文件,在密码设置区域设定tools的密码。然后把toosl.php文件上传到Discuz!、 SupeSite、UCenter、UCenter Home、ECshop或ECMall等程序的跟目录,在浏览器的地址栏中输入tools的访问地址,这样你就可以使用tools工具箱了

 

http://www.discuz.net/thread-2102157-1-1.html

UCHome插件 语言编码: 版权所属: 支持网站: 插件名称: 插件作者: 适用版本:
GBK简体
-
http://www.twincenter.org/home/fnxn.php
-
-
UCHome 2.0

本帖最后由 indexlink 于 2011-3-25 09:19 编辑

把文件夹里的文件 uchome根目录上传 没有替换文件的
模板文件header.htm文件修改 默认的是template/default/目录下

<li><img src="image/app/topic.gif"><a href="space.php?do=topic">热闹</a></li>
下面加
<li><img src="image/app/fnxn.gif"><a href="fnxn.php">愤怒的小鸟</a></li>

默认是GBK的 要其他版本只要修改一下模板编码就行
fnxn.zip (4.63 KB, 下载次数: 287)



未标题-1.jpg


操作说明: 单击鼠标左键滑动鼠标向后拖动弹弓调整角度和力度射出小鸟。 如何开始: 点击“开始”,选择模式和关卡即可开始。 游戏目标: 击败肥猪,通过所有关卡,获得更高的分数。 游戏介绍: 风靡全球的小游戏《愤怒的小鸟》真正的flash版震撼降临!
《愤怒的小鸟》又名疯狂的小鸟,这款游戏的故事相当有趣,为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十 分卡通的2D画面,看着愤怒的小鸟,奋不顾身的往肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到欢乐,游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快 的风格。赶快来试试!
小鸟在空中的时候,你点击它,还会有不同的效果出现哦(红色小鸟除外)!

 

 

http://10.19.36.6/xampp/s*****/tools.php?action=doctor


===配置文件检查=================================================

数据库正常链接.
pconnect ---> 数据库是否持久连接 ---> 非持久链接

cookiepre ---> cookie 前缀 ---> qEg_

cookiedomain ---> cookie 作用域 ---> 空

cookiepath ---> cookie 作用路径 ---> /

tablepre ---> 表名前缀 ---> cdb_ ---> 正常

dbcharset ---> MySQL链接字符集 ---> 空

charset ---> 论坛字符集 ---> utf-8

headercharset ---> 强制论坛页面使用默认字符集 ---> 未开启

tplrefresh ---> 论坛风格模板自动刷新开关 ---> 开启

forumfounders ---> 论坛创始人uid ---> 4,1940,4881 ---> 正常

dbreport ---> 是否发送错误报告给管理员 ---> 不发送错误报告

errorreport ---> 是否屏蔽程序错误信息 ---> 屏蔽程序错误

attackevasive ---> 论坛防御级别 ---> 0

admincp['forcesecques'] ---> 管理人员是否必须设置安全提问才能进入系统设置 ---> 否 > 警告:有安全隐患

admincp['checkip'] ---> 后台管理操作是否验证管理员的 IP ---> 是

admincp['tpledit'] ---> 是否允许在线编辑论坛模板 ---> 是 > 警告:有安全隐患

admincp['runquery'] ---> 是否允许后台运行 SQL 语句 ---> 是 > 警告:有安全隐患

admincp['dbimport'] ---> 是否允许后台恢复论坛数据 ---> 是 > 警告:有安全隐患

===系统环境检查=================================================

操作系统--->Linux

WEB 引擎 --->Apache/2.2.9 (Unix) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0

PHP 版本--->5.2.6

MySQL 版本--->5.0.51b

Zend 版本--->没有安装或版本较低

程序最长运行时间(max_execution_time)--->30秒

内存大小(memory_limit)--->8M

是否允许打开远程文件(allow_url_fopen)--->允许

是否允许使用短标记(short_open_tag)--->允许

安全模式(safe_mode)--->关闭

错误提示(display_errors)--->开启

XML 解析器--->可用

authkey 是否存在--->存在

系统临时目录--->不可写

磁盘空间--->2673M

附件上传--->您可以上传附件的最大尺寸: 2M

函数 file()--->存在

函数 fopen()--->存在

目录权限---
文件 ./forumdata/dberror.log 无法写入.
目录 ./templates/Beijing2008 无法写入.
GD 库--->正常开启

ming 库--->您未编译ming库,所以无法支持flash验证码

ImageMagick --->您现在只需安装好ImageMagick,然后配置好相关参数就可以使用ImageMagick(使用之前请先使用后台的预览功能来检查您的ImageMagick是否安装好)

系统环境错误提示
您的ZEND版本低于3.0,将无法使用SuperSite.
文件 ./forumdata/logs/201004_medalslog.php 无法写入.
===文件错误检查=================================================

---------论坛根目录
wxh.php ---错误:
Fatal error: Call to a member function query() on a non-object in /opt/lampp/htdocs/xampp/s*****/wxh.php on line 7

---------模板缓存目录(forumdata/templates)
1_wxh.tpl.php ---错误:
Warning: require_once(pic.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: 娌℃湁閭d釜鏂囦欢鎴栫洰褰?in /opt/lampp/htdocs/xampp/s*****/forumdata/templates/1_wxh.tpl.php on line 33
1_topicadmin_merge.tpl.php ---错误:
Fatal error: Call to undefined function modreasonselect() in /opt/lampp/htdocs/xampp/s*****/forumdata/templates/1_topicadmin_reason.tpl.php on line 18
1_discuz.tpl.php ---错误:
Warning: require_once(pic.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: 娌℃湁閭d釜鏂囦欢鎴栫洰褰?in /opt/lampp/htdocs/xampp/s*****/forumdata/templates/1_wxh.tpl.php on line 33
1_topicadmin_moderate.tpl.php ---错误:
Fatal error: Call to undefined function modreasonselect() in /opt/lampp/htdocs/xampp/s*****/forumdata/templates/1_topicadmin_reason.tpl.php on line 18
1_topicadmin_reason.tpl.php ---错误:
Fatal error: Call to undefined function modreasonselect() in /opt/lampp/htdocs/xampp/s*****/forumdata/templates/1_topicadmin_reason.tpl.php on line 18

---------其它缓存目录(forumdata/cache)下没有检测到有错误的缓存文件.

===检查完毕=====================================================

 

modify bbs x1.5 logo url >>> www.******.cn

http://192.168.121.22/xampp/dz15/static/image/common/logo.png

 

[root@b2cbbs common]# ls
block_forumtree.htm css_sample.htm faq.htm header_ajax.htm invite.htm rss.css simplesearchform.htm
block_thread.htm css_space.css footer_ajax.htm header_common.htm module.css seccheck.htm stat.htm
block_userinfo.htm editor.css footer.htm header_diy.htm preview.htm seditor.htm userabout.htm
common.css editor.htm forum_calendar.css header.htm pubsearchform.htm sendmail.htm widthauto.css
css_diy.css editor_menu.htm forum_moderator.css header.htm.bak20110415 report.htm showmessage.htm wysiwyg.css
[root@b2cbbs common]# pwd
/opt/lampp/htdocs/xampp/dz15/template/default/common

[root@b2cbbs common]# vim header.htm

 

31 <!--{ad/headerbanner/wp a_h}-->
32 <div id="hd">
33 <div class="wp">
34 <div class="hdc cl">
35 <h2><a href="http://www.******.cn" title="$_G['setting']['bbname']">{BOARDLOGO}</a></h2>

 

【DSU 出品】 每日签到 V3.0 Encore | 20110116 09:55 plugin update

http://www.discuz.net/thread-1904027-1-1.html

http://www.dsu.cc/forum-support-1.html

 

插件名称: 插件来源: 适用版本: 语言编码: 最后更新时间: 插件作者: 版权所属: 支持网站: 插件简介:
[DSU]每日签到
-
Discuz! X1.5
GBK简体 UTF8简体 BIG5繁体 UTF8繁体
-
Shy9000
DSU Team
http://www.dsu.cc/forum-support-1.html
本插件将在前台添加一个签到面板,在这里你可以进行签到操作,以及查看签到排行榜,还可以使用签到自动回帖功能。

dsu_paulsign.zip

 

http://www.discuz.net/forum.php?mod=attachment&aid=Nzk1ODY0fGNlNjRlZjgxfDEzMDMwOTgyNTZ8MA%3D%3D

 

http://www.zhaokunyao.com/archives/2244

 

Q:

http://10.19.36.149/dz15/convert/index.php?a=convert&source=d7.2_x1.5&prg=polls.php&start=37257

Error: Duplicate entry '59648' for key 1
Errno.: 1062
Click here to seek help.

PHP Backtrace
File Line Class Type Function
include/db.class.php 102 db_mysql -> halt
source/d7.2_x1.5/table/polls.php 51 db_mysql -> query
include/do_convert.inc.php 54 require
index.php

 

A:

http://10.19.36.149/dz15/convert/index.php?a=convert&source=d7.2_x1.5&prg=polls.php&start=372570

 

 

百万级PHP网站架构工具箱

http://zhengdl126.iteye.com/blog/726799

 

在了解过世界最大的PHP 站点,Facebook的后台技术 后,今天我们来了解一个百万级PHP站点的网站架构 :Poppen.de。Poppen.de是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql 、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Tsung。

 

无法将这个证书验证到一个受信任的证书颁发机构

http://wenwen.soso.com/z/q243331730.htm

http://blog.csdn.net/sebarsunny/article/details/6116098

证书安装好了出现“无法将这个证书验证到一个受信任的证书颁发机构”问题

SSLCertificateFile "/etc/httpd/conf/server.crt"

SSLCertificateKeyFile "/etc/httpd/conf/server.key"

SSLCertificateChainFile "/etc/http/conf/SSL_CA_Bundle.crt"

路径需为如上才行。证书存放位置需注意。

出现“本页包含安全内容也包含不安全内容”问题由于页面内容混搭http和https混用出现错误

安装SSL证书后,解决混合内容造成页面错误提示的处理办法

http://blog.csdn.net/sebarsunny/article/details/6117606

(1)出现“安全证书上的名称无效,或者与站点名称不匹配”的错误提示,是因为使用IP地址访问该站点。因为证书是与域名绑定的,在访问站点时,需要验证当前站点域名是否和证书上声明的域名一致。如要解决该问题,请使用域名访问该站点。
“本 页不但包含安全的内容,也包含不安全的内容”该错误是由于网站页面出现混合内容引起的。要解决该问题,需要在网站页面上做一些调整。如站点上有 Flash 的资源,请将 Adobe Flashplyer 的控件安装包下载下来放到服务器上,并修改控件安装包的地址,指向服务器上的资源。网站页面尽量使用相对路径。使用相对路径的情况下,能够保证无论是使用 http还是https都能够正常访问。如果需要使用绝对路径,并且该页面需要使用https来访问,请使用 https 的完整路径来指定资源的URL。

(2)“本页不但包含安全的内容,也包含不安全的内容” 是因为网站页面包含 http 的资源引起的。
例如:
一有外链资源的情况
在网站页面文件中,包含了其他网站非https的资源。如: http://***/img/baidu_logo.gif
二无外链,但使用了完整路径
在网站页面文件中,使用了完整的 URL : http://***/image/image1024.gif
如果是第一种情况,请下载其他网站资源到服务器上,并修改资源路径,指向到服务器上。或者取得外部站点 https 的 URL : https://***/img/baidu_logo.gif
如果是第二种情况,请使用相对路径如 <img src=”image/image1024.gif”>  或者完整的 https 路径<img src=https://***/image/image1024.gif>

弹出这个提示是因为网站页面上包含混合内容导致的。
也就是说,网站页面上包含 http:// 的资源 也包含 https:// 的资源。
通常这种情况是需要在网站页面上做一些调整才能去除提示。以下是常用的解决方法:
网站页面上引用 图片,js 脚本等资源时,尽量使用相对路径(http://…/demo/image.jpg 为完整路径 demo/image.jpg 为相对路径)
网站页面引用 flash 资源时,需要将 adobe 的控件下载到服务器上,并修改控件路径。或直接删除控件安装的代码。
网站引用站点外部资源时,如果外网资源为 http 连接,请将外部资源下载到服务器上,修改资源路径,指向内部服务器。如果外网资源为 https 资源,引用时可以不受影响,直接引用。


该站点安全证书的吊销信息不可用。是否继续?

http://www.skun.cn/archives/76.html

http://wenwen.soso.com/z/q175264066.htm

相信很多使用IE浏览器的人都会见过这样的提示“该站点安全证书的吊销信息不可用.是否继续? ”,通常来说,我们登录邮箱,网银,或者淘宝等都会出现这样的提示安全警报。而细心的网友应该会发现网址上的链接方式是从http://链接方式变成了https://链接了。

一般出现这样的安全警报,用户不必多过多的担心所处的网络环境对帐号密码造成威胁。

首先我们先来了解什么是SSL和https

SSL 的英文全称是 “Secure Sockets Layer” ,中文名为 “ 安全套接层协议层 ”。它是被设计用来保护传输中的资料,它的任务是把在网页以及服务器之间的数据传输加密起来。这个加密(encryption)的措施能够防止资料窃取者 直接看到传输中的资料,像是密码或者信用卡号码等等。

https是以安全为目标的http通道,简单讲是http的安全版。在http下加入SSL层,将传输的数据采用SSL加密方式起来。至于什么是http,不懂的话就要自己找找。

接着,我们就要回到IE浏览器为什么会弹出安全警报出来。其实这主要是IE浏览器上的设置问题。…… [问题太多,此处留空,待研究后再添加]

最后,我们就来看看解决方法如何,下面以我的Win7+IE8为例的取消方式。

打开Internet Explorer浏览器——工具——Internet 选项——高级

其实,我做到这一步,已经不会弹出那个安全警报了,又或者有些还会弹出安全警报的网站我没有遇上,而且数据传输是否安全我也不清楚。综合网上所说的各种方法,还要做下面的这两步。

至此。IE的“该站点安全证书的吊销信息不可用.是否继续?”就是完全取消了。当然,SSL还是在工作的。

不过,用其他非IE内核的浏览器,就不会出现这个安全警报了。例如Opera…

 

 

由拖库攻击谈Discuz口令字段的加密策略

http://waiting.iteye.com/blog/1331599

安全崩盘的年代:由拖库攻击谈口令字段的加密策略

http://www.leiphone.com/no-safe.html

 

节选

写道
编者按:本文作者肖新光,网络ID江海客,安天实验室首席技术架构师,研究方向为反病毒和计算机犯罪取证等。如果有读者想要就安全问题和作者探讨,可以在微博@江海客。

我不得不惨痛地写在前面的是,这是一个安全崩盘的时代。过去一年,已经证实的遭遇入侵、并导致关键数据被窃或者被泄露的公司,包括索尼、世嘉这样的大型游戏设备厂商;包括花旗银行这样的金融机构,也包括了RSA这样的安全厂商。

这些事件中最令业界瞠目的是RSA被入侵,这直接导致多家工业巨头遭遇连锁的攻击,很多安全企业本身也使用RSA的令牌。比RSA弱小很多的荷兰电子认证公司DigiNotar已经在被入侵后,宣告破产。

就在2011年上半年,我们还是站在旁观者的立场讨论这些事情。但随即我们就遭遇了CSDN、多玩和天涯等等的数据泄露,其中最为敏感的,一方面是用户信息,另一个当然就是用户口令。由于身份实名、口令通用等情况影响,一时间人人自危。各个站点也陷在口水当中。

但实际上根据推断,这些入侵都是一些过去时,也就是说这些库早就在地下流传。同时流出,也许就是一个集体性的心理效应。

这种针对数据库记录的窃取,被一些攻击者称为“拖库“,于是有了一个自然而谐音的戏称“脱裤”。只是攻击者日趋不厚道,从前只是偷了人家的裤子,现在还要晾在大街上,并贴上布告说,“看,丫裤子上还有补丁呢”。

如果拖库是很难避免的,那么采用合理的加密策略,让攻击者拿到库后的影响降低到更小就是必要的。

明文存放口令的时代肯定是要结束了,但加密就安全么?

那些错误的加密策略

明文的密码固然是不能接受的,但错误的加密策略同样很糟糕。让我们看看下列情况。

简单使用标准HASH

我想起了一个90年代黑客笑话,有人进入一台UNIX主机,抓到了一个shadow文档,但破解不了。于是,他用自己的机器做了一个假的现场,故意留下这 个shadow,最后看看别人用什么口令来试,最后再用这些口令与渗透原来的主机。遗憾的是,那时我们都把这个当成一个Joke,充其量回复一句“I服了 you!“,而没有反思使用标准算法的问题。

目前来看,在口令保存上,使用最为广泛的算法是标准MD5 HASH。但实际上,很长时间,我们都忽略了HASH设计的初衷并不是用来加密,而是用来验证。系统设计者是因为HASH算法具有不可逆的特点所以“借” 用其保存密码的。但其不可逆的前提假设,是明文集合是无限大的。但放到口令并不一样,口令的长度是受限的,同时其可使用的字符也是受限的。我们可以把口令 的总数看正一个事实上的有限集(很难想象有人用100个字符作为口令)。

比如一个人的密码是“123456”,那么任何采用标准MD5加密的网站数据库中,其存放的都是这样一个MD5值:E10ADC3949BA59ABBE56E057F20F883E

由于密文均相同,加之HASH算法是单向的,因此攻击者较早使用的方法就是“密文比对+高频统计“后生成密文字典来攻击,由于绝大多数网站和系统的加密实 现,都是相同明文口令生成相同的密文,因此,那些有高频密文的用户就可能是使用高频明文口令的用户。攻击者一方面可以针对标准算法来制定高频明文的对应密 文档来查询,另一方面,对于那些非标准算法,高频统计攻击的方法也非常常见。

但查表攻击迅速压倒高频统计的原因,正是从2000年开始陆续有网站规模性明文口令泄漏事件开始的。在过去每一次明文的密码泄漏事件,攻击者都会把使用MD5、SHA1等常见HASH算法加工成的口令与那些采用HASH值来保存的库进行应对。

随着超算资源的廉价、GPU的普及、存储能力的增长,一个不容忽视的威胁开始跃上桌面,那就是,这些巨大的HASH表已经不仅仅是基于泄漏的密码和常见字 符串字典来制作,很多攻击者通过长期的分工协作,通过穷举的方式来制作一定位数以下的数字字母组合的口令串与多种算法加密结果的映射结果集,这些结果集从 百GB到几十TB,这就是传说中的彩虹表。

HASH的单向性优势在此已经只有理论意义,因为HASH的单向性是靠算法设计保证的,使用一个有限集来表示一个无限集,其必然是不可逆的。但攻击者是从查表来完成从HASH到口令明文的还原的。因此其算法的单向性也就失去了意义。

联合使用HASH

一些人误以为,HASH不够安全是因为HASH算法的强度问题,因此把MD5或者SHA1联合使用,其实这是毫无价值的(只是徒耗了存储资源)。如上面所 说,HASH的不安全性在于大量口令与其HASH值的对应关系早已经被制作成彩虹表。只要你联合使用HASH的算法其中之一在彩虹表中,自然就可以查到 了。

同理,那种采用“MD5的头+SHA的尾“之类的,或者采用其他的混合两个值的方法,也一样是没有意义的。因为攻击者可以很容易的观察到这种组合方法的规律,经过拆解后继续按照查表法破解。
...
...




 

Discuz7采用的加密方式为md5, md5(md5(password). salt) 值以及salt入库。用户登录时对明文口令先做md5然后提交,后台把提交过来的hash值与该用户数据库保存的salt字符串拼接后再次做md5,然后 与数据库中的password值进行对比。

DZ的加盐字符串是6位字符,基本安全。但现在跑字典的越来越厉害,已经有专门针对DZ这种加密方式(准确说是散列方式)进行爆破(包括字典查询) 的攻击方式。比如 http://www.cmd5.com/Default.aspx 网站就可选多种论坛软件加密方式字典查询。

 

虽然md5、sha1等摘要算法是不可逆的或者说是有损的,但考虑到用户口令长度有限,论坛上使用的一般不会超过20个字符。那么即使摘要算法不可逆,但此映射却基本是一一对应的——只要被拖到库,依据口令密文和salt值就可以[b]还原[/b]出你的明文口令。

 

要想避免这种情况那么就需要在对口令处理上进行其他有损 处理:

 

Php代码  收藏代码
  1. // Discuz默认口令入库处理方式   
  2. $passwd  = md5( md5( $passwd ).  $salt );  
  3.   
  4. // 有损处理的口令入库方式:   
  5. $passwd  =  substr (sha1(md5( $passwd ).  $salt ), 0, 32) ;  

 

改进的方式使用sha1算法主要目的并不是增加算法难度而是产生大于md5算法长度(32位)的字符串(40位)用于截取出标准md5长度字符串从 而实现有损处理。这样处理的结果使得即使获得入库口令以及salt值也无法还原出用户原始明文口令,当然可以通过碰撞实现找到“可以通过登录验证的口 令”,但用户原始口令安全性大大提高。

 

这种方式优点是sha1处理仅限于后台PHP流程中,不需要修改前台代码。

缺点是因为入库口令摘要方式变化,已经保存的口令将无法用于新方式验证,必须对 uc_client/control/user.php中 onlogin()函数做修改判断是否需要做DZ默认认证。 一个办法是数据库保存老的password及salt值,通过验证后写入新算法的值然后删除老的password及salt。

 

对加密、摘要算法不熟悉,不确定这种方式能否有效抵御字典攻击~

 

end

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics