格东站长网

 找回密码
 注册

[发布] [帮助] DZ论坛对某些版块帖子不进行词语过滤,兼谈为什么不要迷信独立插件

作者:magentoon    2016-11-18 18:20  查看: 1920|回复: 0  原创  (副)

DZ设置的词语滤代码,在限中行了区别对待,只选是,该员组帖回帖就不检查是否有内容中是否有设置的违禁词语,直接可帖。选否,当然就是检查。 

  格东站长网 

不过后台只对会员组进行了区别,不限制版块。只要后台设置词语过滤,就对所有版块有效。但有些特殊版块不希望词语过滤,比如商业咨询版块、内部交流版块等,要达到这个目的就要修改源码。格东站长网 

直接修改DZ源码很简单,只要改一句就可以了。看到有些人说,要在应用中心下载某某插件、安装、启用什么的,麻烦得要命,根本没必要。因为应用中心所安装的插件都是单独放在插件文件夹里,绕过本身的代码而另外写一套代码。另外写的一套代码想起作用且不引起系统漏洞,就得写很多很多,从头开始把问题讲清楚,哪里如何哪里又如何,判断调用半天才讲到词语过滤这里。这种就是典型的隔靴搔痒,只能站在窗外打扫卫生,费无数工夫还效果差。实际上源码就是一句代码控制,改掉这一句就达到目的,非要迷信什么独立插件那也没办法。格东站长网 

修改方法:source/module/forum/forum_post.php文件,找到有censor($_GET['message'])的这一行,这个censor就词语过滤的函数,而$_GET['message']就是帖子内容,意思就是说,只要是帖子内容,就进行词语过滤检查,有违禁词的,该屏蔽屏蔽,该阻止阻止。我们就是对这里进行一个版块判断,改成这样:格东站长网 

  1. $message = isset($_GET['message']) ? ($_GET['fid'] == 4 ? $_GET['message'] : censor($_GET['message'])) : '';
复制代码
如果是版块4,就直接写入帖子内容,其它版块就对内容过滤检查一下。 

   

          修改就是这么简单,因为本身程序功能就是这样起作用的。想象一下如果不是直接改源码而是另外装个独立插件,你该用多少代码才能把这里描述清楚,让程序在做判断时明白你对这一句已经做了修改? 

               我的“帖子带外链扣分”插件就涉及到内容审核,我是对censor函数进行修改,只添加了几行代码就搞定了。因为默认代码就已经对内容是否有外链进行了判断,也按后台设置的是否审核进行了相应处理,我只需要增加要不要扣分、扣几分的代码就行了。看到应用中心有几个对帖子外链进行控制的独立插件,把整个与发帖、审核、词语过滤的函数和判断代码全部另外写一套,代码量非常庞大,不然就不会起作用。这种涉及到极多核心功能(包括前台发帖、后台审核、会员权限判断、版块权限判断等)的独立插件代码,稍微疏忽哪里都会让程序出毛病。格东站长网 

另外还有很多类似的小修改,比如版块帖子调用、会员权限控制、某个功能判断、某个版块如何,在整个DZ默认代码系统中,经常是这样一句代码起作用,甚至有些代码只要改模板就可以了,但很多新手听信一些插件开发者忽悠,抛弃默认已写得极严谨的代码系统,真的去装一个插件开发者自己写的几百行代码的独立插件,花钱不说,说不定哪行代码没写严谨还搞出一堆漏洞。 

         

  

            

          对于独立插件的漏洞再举一个例子:远程图片本地化,也就是网络上复制粘贴的图片地址,在发帖的时候下载上传到自己的服务器上。这个功能,DZ默认是有的,不过是用的JS代码写的,要在发帖页面的编辑器上点击一下“下载”那个图标,不然外链图片还是外链图片。这样点击一下就很不方便,90%的会员不会注意到这个图标,99%的会员发帖时不会点击这个图标,导致很多带外链图片的帖子时间一长,图片就失效了,不显示了,帖子很难看。DZ应用中心有几款图片本地化的插件,有些收费有些免费,其中有一个免费的图片本地化插件,名字很难记,从用户评论(以前都有很多用户评论的,现在不知道为什么都没了)来看,是其中相对比较好用、漏洞比较少、价格也最不贵的一款,分收费和免费两种版本,我以前使用了一两年免费版。大致也没什么毛病,就是偶尔有些图片不能本地化,但如果点击默认的“下载”图标,又是可以本地化的。这就说明DZ默认的代码更严谨周到,判断更准确,而那个图片本地化插件的代码虽然也算是写得很好了,但终究还是不够严谨。我把这个插件的代码一行行全看了,写得真是很多很多,长篇大论好几个文件,感觉插件开发者真的很用心,这么多代码让人免费用,非常难得了。 

           

        DZ默认的代码也是很多很多,因为图片上传本来就是很复杂的体系,要判断会员权限、版块权限、允许上传尺寸和格式,再进行上传、写入数据表什么的。不过DZ默认代码是整个体系全写好了,只是在进行图片本地化这里用的是JS判断,我把JS判断改成PHP代码判断,只修改了一点点,就实现了发帖时外链图片自动本地化的目的,对任何图片都有效,没有遗漏的地方,也不会因为是另外自写的庞大代码群而产生什么系统漏洞。也就是说,在DZ默认代码的基础上进行修改,代码量极少,达到的目的极好,还没有任何漏洞。我写的很多插件都收费很低,就是因为本来就不需要改写或添加多少代码。但如果是写成独立插件,代码量多了十倍二十倍甚至一百倍,不收贵点是不行的。这么多代码写起来花更多时间还是小事,更费时间的是做功能测试。修改系统源码,已知系统功能是没有漏洞的,那就改哪几句就只测试这几句的效果就好了,很快测完了。但写的独立插件是要把所有相关功能全另外写一遍,那这些功能就全要做测试,还要用不同权限的帐号比如管理员、普通会员、游客等做测试,极花时间。这些时间当然都要算在收费里。 

  

曾在DZ官方论坛遇到一个迷信独立插件的菜鸟站长,他说需要把帖子页面的标题改下颜色,我就告诉他打开帖子内容页面的模板代码,在某处添加颜色的html代码就行了。结果他说这样改文件太麻烦了--就改一个文件,还是模板,而且还只改一行,更而且我详细告诉他是哪个文件哪一行哪一句,他说太麻烦了。再过两天他又回帖说,已经在应用中心找到插件了,安装了。我去应用中心一看,还真有这么一个“修改帖子标题显示颜色”的独立插件,哭笑不得。可想而知这个所谓的独立插件就是用插件钩子对模板代码做了个判断,再添加了一串后台设置代码。菜鸟站长要点击下载、安装,然后在程序中自动增加一个插件文件夹,设置表中自动添加一条记录,菜鸟站长再在后台人工填写或选择颜色,提交。这么多麻烦的步骤,他说不麻烦,还说因为是应用中心装的插件,感觉更安全一些,装了之后很高兴。这种菜鸟站长我时不时会遇到。 

          

很多菜鸟站长根本不知道程序应该怎样用才合理,所提的要求常常很搞笑,思路更是完全乱来的。经常有些懂写插件却不懂论坛或网站的纯技术员,不管插件有没有实际需要或者设计结构是否合理,只要有人说要就动手写,然后在应用中心上架。有一些技术员也许知道菜鸟站长的要求很菜且复杂得完全没必要,但为了赚钱,常常就是按菜鸟站长的要求做,写长篇代码或独立插件好收贵点。菜鸟站长与纯技术员一结合,瞎猫撞见死耗子,很多经典笑话或经典悲剧就形成了。格东站长网 

如果本来是独立的功能,象自助广告、积分商城这些插件,DZ默认系统没有可利用的现成代码体系,就要写独立插件,不影响默认功能,插件有点什么毛病也问题不大。但如果是对默认功能尤其是涉及到积分、会员权限或版块权限、帖子数据调用、后台审核这种核心函数的,关联默认功能极多,写成独立插件几乎是把所有代码全写一遍,写得越多,漏洞可能性越大。而这些与权限、数据调用相关的功能修改,严格来说其实并不是什么插件,但菜鸟站长就是统一说是定制插件,那就当成是插件好了。如果是因为不会改文件或者怕麻烦,象马甲发帖、采集帖子、VIP会员、推广中心这种涉及到的文件比较多,设置量也多的,写成独立插件特别是在后台添加设置项目的,对安装、卸载和使用都方便一些,这些装独立插件无可厚非。但如果真是象本帖这样对某些版块或会员组的权限或小功能进行修改,那大动干弋装个独立插件只会更坏事。我写的很多所谓插件就是这一类与核心功能相关的小修改或小添加,都是不需要独立插件,我都是直接修改源码。 

  那又有菜鸟担心我直接改源码而且还是核心函数,会不会对系统造成什么麻烦。那就要看菜鸟站长本身的代码水平了,我在格东发了几十个代码扫盲帖,认真读过的菜鸟站长就能看懂很多代码,甚至有个别人都能学着我一样自己改代码了。我发布的插件源码全都有详细中文注释,哪句是什么意思、管什么用,就算你看不懂全部,一行行慢慢看,再结合百度搜索和代码入门教程,也能判断出这些代码多么规范,没有丝毫不安全的东西在里面。但独立插件那么庞大的代码量、那么多文件,很多人还故意把代码写得乱乱的增加阅读难度同时也增加篡改偷窃难度,如果真有人往这些代码中夹带点什么,以菜鸟站长的水平,根本无法判断,不安全可能不是更大?DZ官方论坛常有些菜鸟站长说装了某插件导致论坛出问题,都不知道该找谁负责。用我写的代码,我负责到底,格东论坛公开透明交流,除了一点基础都没有根本不知道怎么改文件的,还真没有谁说我的代码用出毛病过。当然啰,有些菜鸟站长就是无法对信息进行判断,公开透明的信息他不敢相信,反而就一个QQ号的或者长期不露面联系不上的,他马上信了,打款了、安装了,论坛出毛病或被骗了就在DZ官方论坛哭,真没办法! 

          

转载请注明 作者:magentoon 本文来自格东站长网

分享到:

您需要 登录 才可以下载或查看,没有帐号?注册

x
自营广告

DZ的功能几乎到了完善的地步,手机版只需要装修下模板也一样强大

源码出售与求购

  本版出售的源码包括DZ、DEDE、ECSHOP三个程序的插件或模板代码,全部为原创,都经过实测。源码非独立插件,要修改程序原文件,不会与其它代码冲突或造成逻辑混乱。安装方式:或者覆盖原文件,或者按说明修改代码。            

  源码都有详细说明或效果截图,如果感觉功能与预期有出入,请原帖跟帖说明要求,看情况再决定是否推出新源码。如需代写/代改,请发帖商议好价格后补充金币,再通过“指定下载者”互传文件。                   

  定制需求请发帖详细说明,包括达到的目标、模板大致样式、应用场合等,思路越清晰越利于沟通。           

  下载的源码请自用,不要网络传播,否则新代码肯定不会再有,最终大家共输。  

  不接受外人在本站出售源码。

本帖二维码

小黑屋|手机版|Archiver| 格东站长网

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表