本文目录一览:
- 1、删除了C盘index.php 登陆论坛就弹出来member.php 求救啊啊啊啊啊啊
- 2、怎么进行discuz的二次开发
- 3、member.php老跳出来
- 4、如何修改Discuz 密码错误次数过多,请 15 分钟后重新登录
- 5、这个文件的用途 discuz php
- 6、登陆时老出现出现member.php,然后登不上是怎么回事,怎么解决?
删除了C盘index.php 登陆论坛就弹出来member.php 求救啊啊啊啊啊啊
index.php是一个PHP入口文件。
楼主你尝试一下,注销,然后清除COOKIE重新登录论坛试试,可能是cookie没有彻底删除的原因!
怎么进行discuz的二次开发
必须至少具备如下技能:
1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)
2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用
3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳
4) 熟悉使用Discuz!的各项功能
一) Discuz!的文件系统目录
注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块
b) Api:DZ系统与其它系统之间接口程序
c) Archiver:DZ中,用以搜索引擎优化的无图版
d) Attachments:DZ中 ,用户上传附件的存放目录
e) Customavatars:DZ中,用户自定义头像的目录
f) Forumdata:DZ缓存数据的存放目录
g) Images:DZ模板中的图片存放目录
h) Include:DZ常用函数库,基本功能模块目录
i) Ipdata:DZ统计IP来路用的数据
j) Plugins:DZ插件信息的存放目录
k) Templates:DZ模板文件的存放目录
l) Wap:DZ无线,Wap程序处理目录
二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目
三) Discuz!的流程控制
a)
后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在
admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2
admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在
admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件
b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:index.php
会员注册:register.php;
会员登录:logging.php
发贴程序:post.php
会员信息:member.php
论坛内容:forumdisplay.php
查看贴子:viewthread.php
…大部分功能,此处不一一列出…
c) DZ根目下的config.inc.php属于整个DZ系统的配置文件
四) Discuz!的数据处理过程
a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档
b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()以PHP正则运算把htm模
文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理
a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*.lang.php文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)
新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:
a). $_DCACHE
b). $_COOKIE
c). $_DCOOKIE
d). $_DSESSION
e). $_DPLUGIN
b) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制
a) DZ中缓存处理过程都放在“cache.func.php”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。
b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:
1)定义并注册缓存名字。
2)从数据读取相应的数据。
3)数据在写入缓存前作相应处理。
4)最后写入缓存。
具体操作,可以看文件中的代码,做相应的修改即可
九) DZ中模板处理机制
a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。
十) DZ中权限处理机制
a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的
十一) DZ中如何实现URL静态化
a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。
十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换
a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。
实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
member.php老跳出来
那是web服务器出了问题,或者是member.php这个文件本身出了问题,服务器把他当成文本文件发送到了客户端,这个很危险啊,泄露源码了!
如何修改Discuz 密码错误次数过多,请 15 分钟后重新登录
source\function
function_login.php
$return = (!$login || (TIMESTAMP - $login['lastupdate'] 900)) ? 4 : max(0, 5 - $login['count']);
900秒=15分钟 自己修改
source\language
lang_message.php
'login_strike' = '密码错误次数过多,请 10 秒后刷新页面重新登录',
注意:10秒后一定要刷新登录界面才可以
discuz!X 依次打开 source - function目录下的 function_member.php文件,注:discuz!X1.0需要修改: function_login.php
搜索并替换其中的2处900为30,一处901为31即可!如下部分为修改后!
引用内容
function logincheck() {
$return = 0;
$login = DB::fetch_first('SELECT count, lastupdate FROM '.DB::table('common_failedlogin').' WHERE ip='$_G[clientip]'');
$return = (!$login || (TIMESTAMP - $login['lastupdate'] 30)) ? 4 : max(0, 5 - $login['count']);
if(!$login) {
DB::query('REPLACE INTO '.DB::table('common_failedlogin').' (ip, count, lastupdate) VALUES ('$_G[clientip]', '1', '$_G[timestamp]')');
} elseif(TIMESTAMP - $login['lastupdate'] 30) {
DB::query('DELETE FROM '.DB::table('common_failedlogin').' WHERE lastupdate$_G[timestamp]-31', 'UNBUFFERED');
return $return;
依次打开 source - language目录下的 lang_message.php文件,修改为
'login_strike' = '密码错误次数过多,请 30 秒后重新登录'!
这个文件的用途 discuz php
这是 connect.php 文件,是一个入口文件,主要作用是变量初始化,根据参数调用不同的模块。
登陆时老出现出现member.php,然后登不上是怎么回事,怎么解决?
引起此故障的原因是电脑的动态链接库文件受损,重新注册一下下面的几个动态链接库文件就好。
解决办法:
点开始—运行,在框里分三次分别复制以下三行的内容,重复三次确定后就好了。
(解决了多加点分呗~)