×

phpwind8漏洞

phpwind8漏洞(php漏洞多)

admin admin 发表于2023-04-02 10:50:10 浏览51 评论0

抢沙发发表评论

本文目录一览:

如何在PHP中阻止SQL注入?

【一、在服务器端配置】

安全,PHP代码编写是一方面,PHP的配置更是非常关键。

我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开 /etc/local/apache2/conf/php.ini,如果你是采用其他方式安装,配置文件可能不在该目录。-phpwind8漏洞

(1) 打开php的安全模式

php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),

同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,

但是默认的php.ini是没有打开安全模式的,我们把它打开:

safe_mode = on

(2) 用户组安全

当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同

组的用户也能够对文件进行访问。

建议设置为:

safe_mode_gid = off

如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要

对文件进行操作的时候。

(3) 安全模式下执行程序主目录

如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:

safe_mode_exec_dir = D:/usr/bin

一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,可以指向一个目录,

然后把需要执行的程序拷贝过去,比如:

safe_mode_exec_dir = D:/tmp/cmd

但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:

safe_mode_exec_dir = D:/usr/www

(4) 安全模式下包含文件

如果要在安全模式下包含某些公共文件,那么就修改一下选项:

safe_mode_include_dir = D:/usr/www/include/

其实一般php脚本中包含文件都是在程序自己已经写好了,这个可以根据具体需要设置。

(5) 控制php脚本能访问的目录

使用open_basedir选项能够控制PHP脚本只能访问指定的目录,这样能够避免PHP脚本访问

不应该访问的文件,一定程度上限制了phpshell的危害,我们一般可以设置为只能访问网站目录:

open_basedir = D:/usr/www

(6) 关闭危险函数

如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全还是考虑进去。比如,

我们觉得不希望执行包括system()等在那的能够执行命令的php函数,或者能够查看php信息的

phpinfo()等函数,那么我们就可以禁止它们:

disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

如果你要禁止任何文件和目录的操作,那么可以关闭很多文件操作

disable_functions = chdir,chroot,dir,getcwd,opendir,readdir,scandir,fopen,unlink,delete,copy,mkdir, rmdir,rename,file,file_get_contents,fputs,fwrite,chgrp,chmod,chown-phpwind8漏洞

以上只是列了部分不叫常用的文件处理函数,你也可以把上面执行命令函数和这个函数结合,

就能够抵制大部分的phpshell了。

(7) 关闭PHP版本信息在http头中的泄漏

我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息斜路在http头中:

expose_php = Off

比如黑客在 telnet 80 的时候,那么将无法看到PHP的信息。

(8) 关闭注册全局变量

在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,

这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:

register_globals = Off

当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,

那么就要用$_GET['var']来进行获取,这个php程序员要注意。

(9) 打开magic_quotes_gpc来防止SQL注入

SQL注入是非常危险的问题,小则网站后台被入侵,重则整个服务器沦陷,

所以一定要小心。php.ini中有一个设置:

magic_quotes_gpc = Off

这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,

比如把 ' 转为 \'等,这对防止sql注射有重大作用。所以我们推荐设置为:

magic_quotes_gpc = On

(10) 错误信息控制

一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当

前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以一般服务器建议禁止错误提示:

display_errors = Off

如果你却是是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息:

error_reporting = E_WARNING E_ERROR

当然,我还是建议关闭错误提示。

(11) 错误日志

建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因:

log_errors = On

同时也要设置错误日志存放的目录,建议根apache的日志存在一起:

error_log = D:/usr/local/apache2/logs/php_error.log

注意:给文件必须允许apache用户的和组具有写的权限。

MYSQL的降权运行

新建立一个用户比如mysqlstart

net user mysqlstart fuckmicrosoft /add

net localgroup users mysqlstart /del

不属于任何组

如果MYSQL装在d:\mysql ,那么,给 mysqlstart 完全控制 的权限

然后在系统服务中设置,MYSQL的服务属性,在登录属性当中,选择此用户 mysqlstart 然后输入密码,确定。

重新启动 MYSQL服务,然后MYSQL就运行在低权限下了。

如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,

这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧。

net user apache fuckmicrosoft /add

net localgroup users apache /del

ok.我们建立了一个不属于任何组的用户apche。

我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on,选择this account,我们填入上面所建立的账户和密码,

重启apache服务,ok,apache运行在低权限下了。

实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户。

这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。

【二、在PHP代码编写】

虽然国内很多PHP程序员仍在依靠addslashes防止SQL注入,还是建议大家加强中文防止SQL注入的检查。addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。-phpwind8漏洞

当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。

另外对于php手册中get_magic_quotes_gpc的举例:

if (!get_magic_quotes_gpc()) {

$lastname = addslashes($_POST[‘lastname’]);

} else {

$lastname = $_POST[‘lastname’];

}

最好对magic_quotes_gpc已经开放的情况下,还是对$_POST[’lastname’]进行检查一下。

再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:

mysql_real_escape_string 必须在(PHP 4 = 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:mysql_real_escape_string 考虑到连接的-phpwind8漏洞

当前字符集,而mysql_escape_string 不考虑。

总结一下:

* addslashes() 是强行加\;

* mysql_real_escape_string() 会判断字符集,但是对PHP版本有要求;

* mysql_escape_string不考虑连接的当前字符集。

-------------------------------------------------------------------------------------------------

在PHP编码的时候,如果考虑到一些比较基本的安全问题,首先一点:

1. 初始化你的变量

为什么这么说呢?我们看下面的代码:

PHP代码

?php

if ($admin)

{

echo '登陆成功!';

include('admin.php');

}

else

{

echo '你不是管理员,无法进行管理!';

}

?

好,我们看上面的代码好像是能正常运行,没有问题,那么加入我提交一个非法的参数过去呢,那么效果会如何呢?比如我们的这个页是,那么我们提交:,呵呵,你想一些,我们是不是直接就是管理员了,直接进行管理。

当然,可能我们不会犯这么简单错的错误,那么一些很隐秘的错误也可能导致这个问题,比如phpwind论坛有个漏洞,导致能够直接拿到管理员权限,就是因为有个$skin变量没有初始化,导致了后面一系列问题。那么我们如何避免上面的问题呢?首先,从php.ini入手,把php.ini里面的register_global =off,就是不是所有的注册变量为全局,那么就能避免了。但是,我们不是服务器管理员,只能从代码上改进了,那么我们如何改进上面的代码呢?我们改写如下:-phpwind8漏洞

PHP代码

?php

$admin = 0; // 初始化变量

if ($_POST['admin_user'] $_POST['admin_pass'])

{

// 判断提交的管理员用户名和密码是不是对的相应的处理代码

// ...

$admin = 1;

}

else

{

$admin = 0;

}

if ($admin)

{

echo '登陆成功!';

include('admin.php');

}

else

{

echo '你不是管理员,无法进行管理!';

}

?

那么这时候你再提交就不好使了,因为我们在一开始就把变量初始化为 $admin = 0 了,那么你就无法通过这个漏洞获取管理员权限。

2. 防止SQL Injection (sql注射)

SQL 注射应该是目前程序危害最大的了,包括最早从asp到php,基本上都是国内这两年流行的技术,基本原理就是通过对提交变量的不过滤形成注入点然后使恶意用户能够提交一些sql查询语句,导致重要数据被窃取、数据丢失或者损坏,或者被入侵到后台管理。-phpwind8漏洞

那么我们既然了解了基本的注射入侵的方式,那么我们如何去防范呢?这个就应该我们从代码去入手了。

我们知道Web上提交数据有两种方式,一种是get、一种是post,那么很多常见的sql注射就是从get方式入手的,而且注射的语句里面一定是包含一些sql语句的,因为没有sql语句,那么如何进行,sql语句有四大句:select 、update、delete、insert,那么我们如果在我们提交的数据中进行过滤是不是能够避免这些问题呢?-phpwind8漏洞

于是我们使用正则就构建如下函数:

PHP代码

?php

function inject_check($sql_str)

{

return eregi('select|insert|update|delete|'|

function verify_id($id=null)

{

if (!$id) { exit('没有提交参数!'); } // 是否为空判断

elseif (inject_check($id)) { exit('提交的参数非法!'); } // 注射判断

elseif (!is_numeric($id)) { exit('提交的参数非法!'); } // 数字判断

$id = intval($id); // 整型化

return $id;

}

?

呵呵,那么我们就能够进行校验了,于是我们上面的程序代码就变成了下面的:

PHP代码

?php

if (inject_check($_GET['id']))

{

exit('你提交的数据非法,请检查后重新提交!');

}

else

{

$id = verify_id($_GET['id']); // 这里引用了我们的过滤函数,对$id进行过滤

echo '提交的数据合法,请继续!';

}

?

好,问题到这里似乎都解决了,但是我们有没有考虑过post提交的数据,大批量的数据呢?

比如一些字符可能会对数据库造成危害,比如 ' _ ', ' %',这些字符都有特殊意义,那么我们如果进行控制呢?还有一点,就是当我们的php.ini里面的magic_quotes_gpc = off的时候,那么提交的不符合数据库规则的数据都是不会自动在前面加' '的,那么我们要控制这些问题,于是构建如下函数:-phpwind8漏洞

PHP代码

?php

function str_check( $str )

{

if (!get_magic_quotes_gpc()) // 判断magic_quotes_gpc是否打开

{

$str = addslashes($str); // 进行过滤

}

$str = str_replace("_", "\_", $str); // 把 '_'过滤掉

$str = str_replace("%", "\%", $str); // 把' % '过滤掉

return $str;

}

?

我们又一次的避免了服务器被沦陷的危险。

最后,再考虑提交一些大批量数据的情况,比如发贴,或者写文章、新闻,我们需要一些函数来帮我们过滤和进行转换,再上面函数的基础上,我们构建如下函数:

PHP代码

?php

function post_check($post)

{

if (!get_magic_quotes_gpc()) // 判断magic_quotes_gpc是否为打开

{

$post = addslashes($post); // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤

}

$post = str_replace("_", "\_", $post); // 把 '_'过滤掉

$post = str_replace("%", "\%", $post); // 把' % '过滤掉

$post = nl2br($post); // 回车转换

$post= htmlspecialchars($post); // html标记转换

return $post;

}

?

呵呵,基本到这里,我们把一些情况都说了一遍,其实我觉得自己讲的东西还很少,至少我才只讲了两方面,再整个安全中是很少的内容了,考虑下一次讲更多,包括php安全配置,apache安全等等,让我们的安全正的是一个整体,作到最安全。-phpwind8漏洞

最后在告诉你上面表达的:1. 初始化你的变量 2. 一定记得要过滤你的变量

phpwind9.x和8.7XSS注入以及管理后台脚本注入漏洞

漏洞描述:

phpwind近期公布了2处安全漏洞,分别是富文本编辑器发帖的xss注入(受影响版本8.7、9.X)以及管理后台添加新用户时的脚本注入(受影响版本8.7)。

影响版本:

phpwind 9.x以及8.7,8.7.1

漏洞等级:

高危

修复建议:

1、安装官方最新补丁,官方补丁:

2、添加网站至云观测,及时了解网站组件突发/0day漏洞。

discuz和phpwind哪个好用?他们最大的区别在哪里?

discuz 娱乐性比较强,功能比较多,但致命的漏洞多如牛毛

phpwind功能不够完善,经常有小bug,但在用户体验上非常好,在安全方面也没有什么大的安全漏洞

各有所长各有所短,只看你用于什么方向

如果是为了纯属的论坛的话 那就选phpwind

如果娱乐和互动性的,就选discuz,但要时常关注漏洞和打补丁。

phpwind和discuz哪个好

discuz!(简称dz)和phpwind(简称pw)是国内最著名的两个PHP论坛系统,随着它们相继宣布开源以后,在各方面,不管技术上,还是功能上,还是界面上,都有了长足的发展,声威大振,远非国外那些功能简单的电子公告板系统可比了。其造成的一个副作用是大大带动了PHP在国内的普及(本人就是在寻找合适的论坛程序的时候,才开始关注PHP,进而不能自拔的 )。-phpwind8漏洞

客观的说,目前的pw和dz各有短长,其互相之间的激烈竞争应该说提高了PHP论坛的水平,在功能上不仅赶上了以功能多和漏洞多而著称的动网论坛,而且因为它们的效率和速度远远超过动网,弄的动网市场大大萎缩,原来的一些动网论坛都纷纷转换成了dz或者pw,搞的动网都不得不开始弄PHP论坛了。-phpwind8漏洞

要说他们哪个更好,是比较难的事情,毕竟各有短长,俺也不敢在这里妄下结论。不过从市场份额和网上的言论来看,目前dz还是略占上风的,而且去年国内好几个知名的大论坛都转换成了dz(比如凤凰网、牧文、tompda等),而pw在大网站方面收获甚小。-phpwind8漏洞

但是毕竟对好多新手来说,他们都要面临一个选择论坛程序的问题,因此,dz和pw哪个更好,也就成了经常被问的问题,这种没有答案的问题,自然要被反复问起。本文试图从比较深的层次来分析两个论坛的优劣,为新手提供选择的参考。如有错谬之处,欢迎批评指正。-phpwind8漏洞

一、界面篇

首先,从界面上说,从整体上说,dz的界面比较美观,整体感好。

pw的界面给人一种模仿dz的感觉。同时在界面的细节上,看起来pw还是没有dz完美。

二、技术篇

从技术上说,pw和dz都使用了文件方式的数据缓存技术,通过把常用的数据表,比如论坛版面设置参数、基本参数等,生成静态缓存文件(根据条件触发更新或者手动更新),来减少数据库读取次数,提高效率,在这个方面两者非常相似。-phpwind8漏洞

1、模版技术

从模版技术上说,dz从2.5f版就开始采用的这种静态模版技术,从俺个人角度上说,还是非常适合论坛这种频繁更新的网站程序使用的。它通过动态生成静态模版的方式,解决了模版解析效率的问题。

同时,dz的这种模版方式,使得修改界面也比较容易,很直观。

而pw使用echo语句的这种方式(姑且称其为模版),就寒碜多了,要增加了一个if判断条件,就要折腾半天。添加了混合PHP代码的模板,在 dreamweaver中也容易被误操作删除。特别是如果修改的时候稍有不慎,很可能会使网页成了白板(没有输出),让俺每次修改pw模版无不如履薄冰,战战兢兢。。。。恐怕这也是第三方模版中,dz远远多于pw的原因吧。-phpwind8漏洞

不过pw目前在模版上也在改进,现在看verycms 3.0就已经开始使用真正的模版技术,不过目前用的都还比较初级。。。

2、速度问题

从模版上看,两者的效率应该是差不多的,pw的模版其实就是直接包含的混合了PHP语句的一部分PHP文件,而dz的模版平时并不需要解析,所以效率应该是差不多的,但是网上总是有人声称网站使用dz的速度比pw慢,这方面本人没有测试过,不敢妄作评论。而且网站访问速度还是要受很多因素的影响,比如:本地网速、服务器带宽、心理。。。。。客观的评价还是很难的,除非使用专业技术手段。不过从官方网站的速度来看,明显还是pw占优啊,呵呵-phpwind8漏洞

最近看了一下dz的CSS文件,明显是用CSS用的有点过度了,在dz中大量使用了CSS,CSS文件高达16KB左右(pw只有2KB左右),可能造成了IE渲染网页的时候,效率比较低。同时,由于dz的CSS文件过于庞大,只好采用了外置的方式(Link)。-phpwind8漏洞

这样如果网速很慢,网页已经或者部分下载完,而CSS文件下载没完成(网速慢的时候,常常发生这种情况),那么网页根本就不能正常显示。

在网速慢的时候,光dz的CSS文件,就要用好几秒,甚至十几秒的时间才能下载,而整个网页只能在CSS下载完成以后才能进行正确的显示,这就无怪乎在网速慢的时候,dz表现大大逊色于pw了。

相反,pw在设计CSS的时候,明显是比较简洁,这对网页的渲染肯定是比较有利。同时,pw采用了把CSS文件嵌入的方式,尽管每次访问网页都造成了几K 个字节的流量,但是实际影响并不大,反而觉得网页打开速度比dz要快(这就是pw用了一个笨法子,却常常效果比dz强的典型案例)。-phpwind8漏洞

这方面,建议dz痛下决心简化过分臃肿的CSS文件,提高网页速度。

三、功能篇

下面俺就dz5.5和pw5.3的功能,做一个简单的,本人看来是比较深入,可能高手看来仍嫌浅显的分析,请大家指正:

1、登录方式:

pw的前台登录和后台登录采用了不同的Cookie方式,这样前后台分开的方式,个人感觉,有利于安全,也便于管理。后台帐号与前台帐号可以彻底分开。

而dz的前后台登录是用了一个帐号,尽管在进入后台的时候再次提示输入密码,不过还是不如pw方便。

比较特别的是,dz在注册的时候,要求输入提示问题(选填),而且在登录界面中,也有提示输入的界面,个人感觉,绝对的画蛇添足,无聊。如果说使用提示问题来找回密码,还是有点道理的。用提示问题的方式,让新手看了无所适从,脑袋都晕了-phpwind8漏洞

2、分栏显示:

pw从5.0.1开始支持左右分栏显示了,然而功能太简单,不能树状显示子板块,此功能与其说有,不如说没有,弄的有点搞笑,属于半成品(倒是也符合pw的一贯特点--喜欢推出一些不完美的东西让大家修改)。

看了dz5.5的分栏显示,做的还是比较完美的,感觉相当不错了。

3、后台管理的效率:

pw的横向操作非常不错,大大节省了管理的难度,特别是在根据用户组设置权限的时候,非常的那个方便啊,这方面dz需要改进。

dz提供了一个方案的方式来解决后台重复操作问题,应该说也有一定道理,但是用起来不太容易上手,如果是设置一个单独的项目,就比较繁琐。

4、个人空间(文集)功能:

dz5.5内置了minispace个人空间功能,可以说自从discuz合并了supsite以后,在论坛功能的外展方面,占据了很大优势,吸引了很多个人网站的注意力。

这个minispace用dz官方的话说,是这样的:

“完全利用论坛原有资源,会员不必更多付出,即可拥有个性展示页面

与 X-Space 完美结合,可顺畅实现 MiniSpace 与 X-Space 自然过渡 ”

大体看了一下,发现这个minispace做的很不错,利用它,用户可以把自己的优秀帖子整理出来,形成一个文集的方式,方便别人访问。以前在别的论坛见过这个功能,觉得很不错,没想到dz把它整合进去了。这个功能已经可以满足大部分论坛的功能要求了,如果要求更高,比如希望能让用户发布b0客文章,按照官方的说法,也可以迁移到X-space中去。但更重要的是,minispace是开源的,而X-space的源代码并不开放。-phpwind8漏洞

说到X-space,我们觉得,pw在功能上虽然足以和dz匹敌,但是在论坛的外延上,却比dz落后了好多。X-space能实现以论坛为中心的个人空间功能,而pwblog(已经改名为Lxblog,正式版未推出,本文仅以5.1.5版本为例)却和论坛貌合神离,帖子推送功能虽然从4.3.2就有了,然而却一直不好用,4.x推送以后,图片和附件都不正常,5.1.5虽然可以推送正常了,然而在论坛中更新的帖子,在b0客中却不再出现回帖,可以说推送功能在pwblog中只是一个无用的点缀而已。-phpwind8漏洞

说到底,我们常常希望的只是一个论坛帖子文集功能的方式,pwblog把论坛中的内容重复推送到b0客中,既浪费空间,又没有意义,这方面dz远远胜过了 pw,值得表扬。但minispace的功能还是略显简单了些,比如没有文集帖子的分类功能、没有首页推荐帖子等等(也许论坛帖子的分类意义不大,不过有总比没有强吧?)-phpwind8漏洞

5、防灌水技术

pw5.3终于接受了俺提出的新手注册第N贴以前发帖使用验证码的方式,这样既不影响老用户的使用,又通过验证码方式来限制恶意灌水机器人。dz未提供此功能,但是具有可以设定第N贴以后不用自定义问答的功能(dz的验证码很烂,根本看不清,用自定义问答似乎更好一些)。-phpwind8漏洞

在防止自动注册方面,pw和dz都使用了自定义问答方式防止自动注册的办法,具体原理很简单,两者实现的都差不多。区别在于,dz要求设置10个以上的问题才能生效,而pw只能设置一个问题。另外,还有一个区别,就是pw可以自定义问答中内部使用的form变量名,可能在防止恶意自动注册方面,会更加有效一些。pw的自定义问题只能用于注册,而dz的可以用在注册、发帖和短消息等方面。-phpwind8漏洞

从目前的具体应用来看,用一个问题就基本上解决了自动注册的问题(长时间实践发现的结果),当然也不排除特大型网站,用一个问题容易被攻破的可能性,这方面dz可能就更有效一些。只是dz限制要求10个以上才能生效的做法,令人费解。-phpwind8漏洞

6、前台管理功能

pw具备副版主功能,不过和一般的思路不同,副版主是由版主任命的,这样恐怕会导致权限混乱问题,所以也很少有人用这个功能。

在前台的管理功能中,pw更方便一些,不仅的主题列表中能进行管理,在帖子内容页面中的管理方式比dz用下拉方式更直观一些。而且在一个主题里面删除帖子,pw比dz直观多了。

费解的是,pw5.3版本中移动帖子,都会在帖子前面加入移动提示“本帖被 xxxx 从 xxxx 移动到本区(xxxx年xx月xx日) ”,无法消除,真是难看极了(以前版本没有这个毛病)

dz实现了“沉贴”的功能,可以把那些偶尔被人翻上来的无用垃圾贴沉下去,确实方便多了。。。。有次俺在pw中为了沉一个帖子,不得不提前了N个帖子。而且dz的版主管理功能,加亮、精华等操作都能一气呵成,比pw方便好多。-phpwind8漏洞

7、所见即所得编辑器

dz5.5和pw5.3开始,不约而同的把所见即所得编辑器换成了ubbcode(两个论坛名称不一样,这里用个通俗一点的名称,暂称为UBBCode)方式的编辑器,而放弃了原来的HTML可视化编辑器。

说起来,这个ubbcode可视化编辑器确实解决了以前采用代码方式,无法可视化,导致好多非IT人士发帖无法控制格式;而和动网一样使用HTML方式,又产生大量冗余代码和安全性隐患的问题。

不过造成的后果却是,在转贴的时候,以前可以直接从别人的网页上,连图片带文字一起转过来,却是非常方便,虽然有盗链之嫌。换成了这种编辑器,再也没法那么方便了,因此在换了编辑器以后,官方论坛中是怨声载道一片。。。。而且新的编辑器还有好多小BUG,更加是引起了广泛不满(另注:用了一段DZ后发现,dz 5.3的所见即所得编辑器好像存在很多问题,几乎无法用,这方面可能还不如pw的编辑器好用一些)-phpwind8漏洞

8、附件上传和所见即所得功能:

pw的附件还是只能提交帖子上传以后才能进行图文混排,这方面dz要好的多,可以上传前就进行混排,方便多了

dz对不参与上传的图片附件还是显示太多信息,看起来影响美观(似乎是受vbb和phpbb的影响比较大)。而pw只是显示了“图片”字样和描述信息,但是更恶心的是,却把这些图片放到正文文字上方 ,真是屡教不改啊-phpwind8漏洞

9、附件防盗链技术的分析:

dz采用了隐藏图片地址,和检测访问来源(可选)的办法来防盗链,应该说服务器负担比较大,效果还行,但不能彻底解决问题。

pw用的办法更简单,但更有效一些:就是定期或者自动修改附件目录名,应该说这是一个投资少见效快的好办法,技术上也很简单。不过最新的pw5.3版本也引入了隐藏附件地址的方式,后台也似乎无法关闭此项功能,似乎有点画蛇添足的味道了。。。。-phpwind8漏洞

发现dz也可以在后台手工修改附件目录,也可以起到一定效果,只是没有自动修改的功能。

10、广告功能:

dz比pw要好一些,广告功能更完善一些。比如贴内广告,在帖子下面的位置类似动网的位置,看起来更整齐一些,而pw的位置就让帖子布局显得比较凌乱,不好看。dz的贴间广告可以插入大的Google Banner广告,或者其它图片形式的广告,展示效果很好。-phpwind8漏洞

相比dz,pw广告的插入位置更少一些,效果也差一些。

11、头像显示:

dz不能限制上传头像的长宽尺寸,只能限制总像素数,显得不够灵活,不如pw方便。而且超出了一定尺寸的头像,被自动缩放和拉伸了,看起来很难看。而且 dz还自动给头像加了一个边框,甚是恶心。可见dz把简单的事情给弄复杂化了,其实只要和pw一样,限制其尺寸,根本不需要拉伸。-phpwind8漏洞

12、附件尺寸限制:

pw只能设定所有附件的尺寸,而dz可以对个别格式的附件设定上传尺寸,比较灵活一些,特别适合一些flash网站,或者技术型网站(比如上传大尺寸图纸等)。

13、词语过滤:

pw只能使用普通方式过滤,不支持大小写(很简单的事情,官方就是不办,举手之劳啊)。

而dz不仅能识别大小写,而且具有了一定的模糊识别功能,相当不错了。当然,要是能直接支持正则表达式就更爽了。

14、自定义代码功能:

pw至今不支持自定义wincode代码,比较僵化。要增加功能,就只能修改js文件,太过麻烦。。。。

dz在这方面做的比较完美,要增加或者减少代码、修改播放界面尺寸都很容易,在后台设置一下就可以了

15、回收站功能:

dz可以设定自动清理,而pw不能

16、IP来源显示功能:

dz的IP地址和来源显示类似动网,看起来不太方便,需要点击小电脑图标才行。还是pw的IP地址来源显示看起来比较舒服一些。

17、防CC攻击:

pw早在4.3.2就增加了抗CC攻击功能,而且设置起来比较简单,新手也能看懂。当初俺就是因为这个原因才用了pw。

dz5.5虽然号称带有cc攻击防护,不过看起来比较难于理解,在后台找了半天也没找到,估计新手是操作不了的。当年某著名站长论坛(用dz)可就是被CC攻击搞的长期开不了张的,看起来dz的防CC攻击功能还有待改进。-phpwind8漏洞

18、备份功能

pw能支持对pw程序以外的数据表进行备份,而且判断标准不是根据表前缀。可以单独备份pw表以外的数据表,对于那些建立了新表的插件,备份数据超级容易,这方面比较人性化。

dz只是根据表前缀来进行备份,比如你设置一个表,叫做cdb_test,那么它会把它认为是论坛数据表而进行备份。但是如果你设置一个表,叫做test,那就自己想办法去吧。。。。

但是dz比pw强的是,备份可以压缩,压缩后下载和转存备份文件应该会节省巨大的空间和时间,对于超大型论坛应该是非常管用的。dz备份可以指定文件名,而且备份数据用十六进制表示(安全一些,但是占用空间会大一些),估计导入和恢复的中文内码问题就不会存在了。-phpwind8漏洞

另外,dz还可以备份MySQL Dump备份(不推荐使用)。

19、文件和数据库校验:

dz内置了文件和数据库校验的功能,pw只是官方提供了一个文件校验工具,不过用起来有点莫明其妙,有时候提示使用的函数在php文件中根本不存在

20、主题推荐和相关贴功能:

dz通过qihoo实现了相关贴的功能,而且还可以支持主题推荐,这方面比pw强了很多。

21、模版和风格设置

phpwind可以在后台设置风格CSS文件,虽然新手不太容易上手,但确实还是比较方便的。

dz更进一步,把css的内容给解释成了表单的形式,让新手也能操作,不过带来的缺点更加大了:如果你想在CSS中增加控制(比如调整行间距等),就不知道该怎么弄了,只好去修改模版。好在dz还提供了一个附加功能:在后台可以直接修改模版,而且编辑界面中还带搜索功能,总算是亡羊补牢了-phpwind8漏洞

dz以较大优势在功能上超过pw,而且在dz有些胜过pw的功能上,好多都是以较大优势取胜。

四、总结

总体来说,dz在功能上,界面上,技术上,论坛功能外延上,都胜过了pw。但pw也并非一无是处,其抗CC攻击功能,简洁快速的界面,强大的管理功能,独到的防盗链技术,都很有特色。所谓仁者见仁,智者见智,选择pw还是dz,仍然是一个个性化的问题,具体取决于你对他们的某项特点是否看重。-phpwind8漏洞

另外,感觉dz在浏览器兼容性上有点小问题,有时候会出现提示,什么从来路不明的什么东西提交信息,检查norton internet security配置之类的烦人问题,而且dz的验证码太恶心,根本看不明白,都赶上动网的烂验证码了,基本上没法用,只好关掉算完。-phpwind8漏洞

需要说明的是,如果是新手,需要选择论坛,还是建议选择dz,因为功能比较多,论坛的外延开发的比较好(supsite/X-space做的很不错),用起来方便一些,而且模版修改起来比较简单,容易上手。

pw只是适合老手,和对论坛外延功能不太感兴趣的那些人使用,而且pw的模版修改起来相当困难,稍有不慎就容易出错,对新手不合适。

PW适合娱乐站,速度快,功能多,官方集成各种插件,几乎不用维护

pw现有的功能=dz+银行+多附件上传+在线会员统计+特殊用户组添加+节日送礼

个人认为phpwind比较方便些,对于那些不想花时间装插件的人来说上手更容易

phpwind是什么

phpwind(简称:pw)是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一。phpwind第一个版本ofstar发布于2004年。截止2013年12月phpwind项目品牌由阿里云计算有限公司拥有,软件全面开源免费。现已有累积超过100万的网站采用phpwind产品,其中活跃网站近10万。自2011年发布PHPWind8.x系列版本以来,phpwind围绕着提升社区内容价值和推进社区电子商务两个大方向,开发单核心多模式的产品,实现新型的社区形态。2012年筹备发布的phpwind9.0将采用phpwind自主研发的Windframework框架并整合基于阿里云云计算架构的社区云平台应用中心,将为未来的社区提供更丰富多样的解决方案。-phpwind8漏洞

发展至今,全国有价值的20万个中小网站中,有近10万个社区网站使用phpwind,累计已有超过100万网站使用phpwind,每天还有1000个新的网站使用phpwind。这些社区网站覆盖了52类行业,每天有一亿人群聚集在phpwind搭建的社区,发表5000万条新增信息,访问超过10亿个页面。-phpwind8漏洞

全国日PV30万以上的1000个左右大型社区中,有500个以上的站点选择了phpwind提供的建站软件,并通过其包括淘链接、淘满意、每日一团等电子商务与营销型在线产品大力为网站增加营收。优秀合作伙伴,如厦门小鱼、化龙巷、二泉网、昆山论坛、北海360、惠州西子湖畔、华商网等。-phpwind8漏洞

phpwind近期专注于强化社区的媒体价值,拓展社区的电子商务应用。phpwind专注于中小网站价值的发掘和应用的整合,我们认为,网站即社区,社区可提供丰富的应用,满足人们获取信息、交流、娱乐、消费等生活需求,获得归属感,成为人们的网上家园。随着互联网的发展,网站的形式将更为丰富,将融合论坛、信息门户、社交网站等更多形式,我们会把这些应用整合到产品当中,并创造最优化的用户体验。-phpwind8漏洞

phpwind 的使命是让社区更具价值,让更多人从网络社区中享受便利,以提升生活品质。

参考百科:

有什么办法看到论坛需要回复才能看到的贴子?

查看论坛隐藏内容第一招,刷新看内容

经常会在论坛贴吧看到这样的帖子,“回复看你的隐藏个性”之类的。

其实这种回复变图片的原理,无非是利用了刷新功能,所以只要刷新页面就能看到图片的变化。如果页面刷新后变回默认界面,可直接在图片上点击右键,选择属性,便会查看到该“图片”的链接地址其实并不是一张图片,而是一个ASP网页的链接地址。只要将该链接复制到IE地址栏中,打开后不断的刷新就能看到不同图片了,-phpwind8漏洞

查看论坛隐藏内容第二招,百度快照破解法

这个时候可以借助搜索帖子的名字,然后点击查看快照内容,很容易就看到被隐藏的内容啦。这种方法多用于一些普通网站的小论坛,论坛程序代码不是很严谨,通过搜索引擎的快照功能便能让隐藏帖“现形”。另外,有些网页是通过javascript语言进行回复判断的,在快照页面无法正常显示隐藏帖,这时可在打开的百度快照页面中,点击上面的“无javascript的快照”按钮,使javascript语句失效即可。-phpwind8漏洞

查看论坛隐藏内容第三招,“漏洞”查找法

有些代码严谨的大论坛,是不能够通过上面所说的快照方法查看论坛隐藏内容的。但是这部分论坛大多会有些漏洞,有些编程基础的朋友可以通过漏洞直接查看帖子。

例如在PHPWind v3.0.1和vBulletin Version 3.0.7论坛程序中,就存在着隐藏帖显示模式漏洞,只需改变帖子的显示模式,就能轻松查看到隐藏帖。以该贴为例(),在这个帖子中有大量的HTTP和Socks代理服务器地址,需要回复才能查看帖子内容。先记下帖子所在版块和ID号,然后点击页面中的“无图版”按钮,开启论坛无图显示模式,再浏览查找到刚才的帖子,点击打开后可看到该帖子显示已经回复过,隐藏的内容也“一览无余”了。-phpwind8漏洞