Technology
转移爱吧的数据到了新空间,弄了一下wordpress评论功能
发现很多机器人发的评论
懒得在后台一个一个的审核了
直接把发表评论的功能修改了一下~
在后台把那个反垃圾评论的的插件关掉
然后修改wp-comments-post.php里面~
先把$comment_author_url = null;这样评论的人就没法加连接在头像名称那里了
然后正则替换评论内容
//给我替换,嘿嘿
$comment_content=preg_replace(“|\[url(.*)\[/url\]|”,””,$comment_content) ;
$comment_content=preg_replace(“|\[img\](.*)\[/img\]|”,””,$comment_content) ;
$comment_content=preg_replace(“|\[([^\]]*)\]|”,””,$comment_content) ;
$comment_content=preg_replace(“|<([^>]*)>|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)html|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)php|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)asp|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)com|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)net|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)org|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)cc|”,””,$comment_content) ;
$comment_content=preg_replace(“|http://(.*)info|”,””,$comment_content) ;
把BB代码和HTML全过滤掉
然后统计内容长度
if(strlen($comment_content)<50){
$comment_content=null;
}
太短的直接设置为空
哈哈哈~~~~~~~~
就发不出评论了
找到个显示数组的PHP函数
//下面是标准化输出数组结果
echo “<pre>”;
print_r($r11);
echo “</pre>”;
以前最头疼数组了~不知道数组里有啥元素,具体有啥数据
今天又要弄这个头疼的东西了,是在忍不住了,上网搜索了一下,得到这个东西
呵呵,对我这种半路出家的人来说,有些基础的东西确实是非常薄弱的
因为我确实没系统学习过PHP,并且并非电脑相关专业的,所以有些东西可能高手们觉得实在不是问题但是到我这里就成了大问题
努力学习吧,高手也是由菜鸟成长起来的嘛~
Flickr调用的图变XX了,装了一个Jay Access Flickr插件
本来想装个PDF插件~这样好把文章直接转成PDF保存到本地~
找了一下,找到了一个,但是发现没有简体中文的语言可选,繁体中文生成的PDF里面是乱码,而且这个插件是发送PDF到邮箱的,有点不爽,我需要的是直接可以下载的
所以还是把那个插件删除了
然后想起Flickr的图都变成XX了~找了一下资料~别人推荐有几个插件~我下了一个装上了,真的可以正常显示了
插件名字叫Jay Access Flickr,似乎是把Flickr的一些装图片的服务器的IP换成了其他的
KINGCMS栏目那里加个字段
做了个站,需要在栏目列表的每个栏目名称下加个英文名称,原来的想法是把标题或者关键词什么的改成那个字段,后来觉得还是练练手改改看
先到数据库里king_list添加个字段kenname,我是按照kkeywords的设置,将它的属性设置为
kenname
char(100)
utf8_general_ci
是
NULL
然后就是修改后台程序了,找到portal下面的manage.php,再找到这个函数king_edt(),这个函数就是编辑栏目的
然后$_sql=后面的一串读取数据库里的字段里面添加上我们刚添加的字段kenname,我是直接添加在kkeywords的前面~方便以后管理
然后再往下就是生成后台编辑表单的代码,找到
//kkeywords
$_array=array(
array(‘kkeywords’,0,0,100),
);
在前面按葫芦画瓢添加
//kenname 小货添加,英文名字
$_array=array(
array(‘kenname’,0,1,100),
);
$s.=$king->htmForm($king->lang->get(‘portal/label/kenname’).’ (1-100, ‘.$king->lang->get(‘portal/label/kenname1′).’)’,’<input type=”text” name=”kenname” value=”‘.htmlspecialchars($data['kenname']).’” maxlength=”100″ />’,$_array,’EnName’);
注意$king->lang->get(‘portal/label/kenname’)的意思是读取语言文件,有个问题是这个kenname是我们新添加的,原来的语言文件肯定没有,所以我们必须到语言文件里补全
找到语言文件portal\language\zh-cn.xml
在<label>后面加上我们新添加的词汇
<kenname>栏目英文名</kenname>
<kenname1>在导航下面显示的英文名</kenname1>
然后回到manage.php,刚才设置的是读取数据库,并显示成表单,现在是入库,可以往下搜索
$_array=array(
’modelid’=>($modelid?$modelid:0),
’listid1′=>$data['listid1'],
’klistname’=>$data['klistname'],
’ktitle’=>$data['ktitle'],
然后在后面添加我们要入库的字段
’kenname’=>$data['kenname'],
那么后台就修改完成了
但是前台显示的时候直接调用{king:enname/}是啥都不显示的~因为我们没有将这个字段放到模板引擎里
找到portal/core.class.php
找到这个函数public function getField($type1,$type2)
然后把我们需要显示的字段加进下面这行去
’field’=>array(‘ktitle’,’klisttitle’,’klistname’,’kkeywords’,’klistpath’,’kdescription’,’kimage’,’kcontent’,’klanguage’),//字段
然后刷新~终于在前台可以显示了
imxh.com竟然被人插入的木马~
今天忽然想起来好久没访问了,进去一看,AVAST竟然提示有病毒~
幸好GOOGLE哪里还没提示有病毒
赶紧升级程序先
奶奶的~竟然多了一个超级用户~他的资料里就是一个JS!
头一次被黑
fck2.6快速上传问题,
其实还是配置问题,
这个fckconfig.js一定配置好
var _FileBrowserLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
editor\filemanager\connectors\asp\config.asp里面必须配置正确
ConfigIsEnabled = true 设置为可以浏览文件目录
ConfigUserFilesPath = “/” 上传的根目录 下面的其他目录就是根据这个目录往下推
ConfigAllowedExtensions.Add ”Image”, “bmp|gif|jpeg|jpg|png”
ConfigDeniedExtensions.Add ”Image”, “”
ConfigFileTypesPath.Add “Image”, ConfigUserFilesPath & “image/” 这个和正常浏览上传有关
ConfigFileTypesAbsolutePath.Add “Image”, “”
ConfigQuickUploadPath.Add “Image”, ConfigUserFilesPath& “image/” 这个和快速上传有关
ConfigQuickUploadAbsolutePath.Add “Image”, “”
还有传中文文件名会出现乱码,在网上找到了答案
io.asp
Sub [...]
FCK2.6的使用
fckconfig.js配置文件里可以设置图片上传使用哪种程序,默认是PHP的,可以改成很多种,我要使用ASP的,就改成了ASP
var _FileBrowserLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
但是进入浏览界面的话还是啥都看不见,因为还需要打开一个设置
找到editor\filemanager\connectors\asp\config.asp把ConfigIsEnabled = 后面改成True就可以浏览服务器上的文件了
这个配置文件还关系着服务器的安全,可以设置很多选项
ConfigUserFilesPath = “/” 文件上传到哪个文件夹,我设置到了根目录
ASP使用JS调用FCK的时候要注意一个问题就是默认值的问题,也就是编辑一篇文章必须把文章内容先传给FCK,JS调用的时候可以用oFCKeditor.Value = ‘编辑的文本放置的地方‘ ;
然而不是什么文字符号都可以插入,一定要把单引号还有回车换行什么的全去掉或者转义,这个时候就需要用到ASP进行前处理了
这是我在网上找到的代码
<%
dim tmpstr ‘不能直接赋值,因为内容里有可能含有单引号和换行什么的,必须先替换掉
tmpstr=rs(“Ar_Content”)
tmpstr=replace(tmpstr,”‘”,”\’”)
tmpstr=replace(tmpstr,chr(13),”\n”)
tmpstr=replace(tmpstr,chr(10),”\n”)
%>
剩下的就是在刚才插入文本的地方直接调用就可以了oFCKeditor.Value = ‘<%=tmpstr%>‘ ;
至于生成的内容如何入库,JS调用的时候需要创建实例,实例的名称就是生成内容所使用的变量,比如var oFCKeditor = new FCKeditor( ‘Content’ ) ;就是把所有输出的数据放到Content里
在接受的地方直接接收Content就可以获得内容了
至于默认菜单,直接去编辑器根目录去改fckconfig.js就可以了,FCKConfig.ToolbarSets["Default"] = [后面一长串,非常好看懂
nnlb的网站出问题了,直接复制过来的文章出现乱码
经过一番探查,发现是动网8.2的编辑器探查出复制进去的东西有WORD垃圾代码,询问是否删除多余代码,一按确定就多出了垃圾代码
因为复制过来的代码中含有将图片自动缩小的代码,其中带有>符号,而动网编辑器的代码就直接截断到了这里,后面的一些判断脚本就成了乱码。
而原来的图片地址被直接过滤掉了
知道了错误的原因就很好弄了,找到编辑器的调用文件dv_edit/toolbar.js,找到if (d.test(c)&&confirm(“可能您是从word复制过来,已检测到里面有多余的代码,点确定清除多余代码,点取消保持完整粘贴。”)){c=this_.clear(c);}可以知道使用了函数clear
然后往上可以找到this.clear=function(c)函数,然后修改过滤规则
把自动改变图片大小的脚本先给去掉,去掉的方法当然就是替换啦 c=c.replace(/onload=”javascript[^"]*”/gi, “” );
然后还是保留图片,把过滤掉图片的这行去掉,或者在前面加解释代码// c=c.replace(/<img+.[^>]*>/gi, “”);
为了使原来已经错误的代码能正确显示,再找到论坛的ubb解释文件inc/Dv_ubbcode.asp
找到处理老DHTML贴子的函数Public Function Dv_UbbCode_DHTML(s,PostUserGroup,PostType,sType)
在最后输出前添加一些过滤,下面一条是发现错误的代码生成的图片全在一行了,需要干脆在前面加个换行符,因为我的正则是在很差,就凑合着先用了
’小货添加,去掉没必要的代码,是由编辑器去掉word代码后生成的
re.Pattern=”<a href=””([^<>]*?)”” target=””_blank”” border=””0″”>600\){this.width=600;this.alt=’点击在新窗口打开’;}”” border=0></a>”
s=re.Replace(s,”<br><a href=””$1″” target=””_blank”” border=””0″”><img SRC=””$1″” ></a>”)
‘在每个图前面添加个<br>
re.Pattern=”<a href=””http://www.imxh.com/([^<>]*?)””([^<>]*?)><img([^<>]*?)src=””http://www.syc163.com/([^<>]*?)/></a>”
s=re.Replace(s,”<br><a href=””http://www.imxh.com/$1″” target=””_blank”” border=””0″”><img alt=””点击在新窗口打开”” SRC=””http://www.imxh.com/$4 /></a>”)
‘小货添加结束
继续研究KINGCMS
发现首页调用了一个{config:system.info/},但是后台的系统设置里面却是找不到,找了系统文件夹的manage.php文件也看不出啥东西,忽然想起使用的类在lib文件夹
打开lib文件夹,找到kc.class.php文件,里面的config函数就是读取系统设置的,是读取system数据库里面的数据,用PHPMYADMIN打开数据库,仔细研究了一下king_system
首先isshow肯定是控制是不是在后台显示的,1是显示,0是不显示
ntype是数据类型,在kc.class.php文件里面找到了解释
$rs['ntype']值
1 单行文本
2 多行文本(不支持编辑器)
3 多行文本 (支持编辑器)
4 单选 (下拉列表)
5 单选 (radio)
6 多选 (多选列表)
7 复选框
8 文件上传(图片类型)
9 图片列表
10 文件上传(文件类型)
11 文件列表
12 颜色框
13 选择模板
nsizemin应该是字段的最小长度,相对的nsizemax应该是字段的最大长度
nstylewidth是样式的长度,nstyleheight是样式的高度,比如刚才如果设置字段是“2 多行文本(不支持编辑器)”的时候就需要设置这个文本框的长度和高度
把数据库里面的第5条记录,kname为info的那条,设置了一下,在后台更新缓存,果然显示出来了,只是右边的名称那里竟然是显示[system/const/info],不要紧,根据上次的经验,找到语言文件language/zh-cn.xml,在const下添加一个info东东就可以了
做客户站,开始研究KINGCMS
最喜欢KINGCMS的定义网址的功能
慢慢地开始研究,发现KINGCMS的后台快捷方式有几个特讨厌,比如什么许可协议什么的,找了一下在后台文件夹里的lib文件夹里,这个文件夹都是一些后台使用的类
找到skin.class.php然后里面有个tag_lnk公共函数里面的$s变量,呵呵,删掉不需要的东西吧,记得最后到工具那里清除一下缓存就可以看到效果了
后台的第2行是一些按钮,刚进去右边有一个新手入门,在后台的manage.php有个king_def()函数,其中$right就是右边要显示的按钮的数据,$king->lang->get就是从语言文件中读取数据,语言文件在language文件夹中,默认是zh-cn.xml,是个XML文件,里面的level/novice字段就是默认显示的“新手入门”,那么我们干脆直接把king_def()函数的$right[]数组赋值给去掉,嘿嘿,终于右边默然“新手入门”按钮不见了
至于它上面一行,名字后面的 [ 修改密码 | 注销 ]再后面的问号图标,在模板里找到skins\default里面的system.home.htm把这个标签{king:faq/}去掉,嘿嘿,烦人的东东不见,但是非常郁闷的是似乎还有其他的模板文件使用到这个,我们干脆直接在模板解释文件里把这个标签的解释给删除掉,找到skin.class.php里的大概68行$tmp->assign(‘faq’开头的那句,删除吧,一劳永逸
至于“工具”后面的“帮助”什么的,在模板里是这个{king:skin.mainMenu/}标签,我们找到控制标签的这个文件skin.class.php,找到tag_mainMenu()函数就是控制这个标签的,把其中的if($king->acc(‘#open_help’)){里面的东东全去掉,acc就是具有进入的权限,然后更新缓存,搞定
最近评论