WordPress 2.1.3和WordPress 2.0.10于北京时间2007年4月3日早上8点33分发布,距离上次WordPress 2.1.2发布刚好一个月。这应该是WordPress 2.1.x系列里的最后一个版本了,因为WordPress 2.2将在20天后的4月23日发布。WordPress开发日志里花了一半篇幅叙述WordPress.org服务器做了很多安全工作,虽然在这一个月内遭到了数百次黑客攻击,但是没有遭到破坏。看来上次2.1.1被黑的事情对WordPress影响很大啊,希望不会影响到WordPress用户对WordPress的信心。
WordPress 2.0.10的更新有:
- 修正Ecto通过XMLRPC发布文章时不能Trackback的问题。[4907]
add_query_arg()和remove_query_arg()函数的返回值未做防XSS处理,因为它们的返回值可能被用于HTTP Header里的重定向地址。在这些返回值被作为HTML标签的属性输出到浏览器的时候,应该使用attribute_escape()函数进行处理以防XSS攻击。[5007] #3937- 使用
get_query_var()函数来获取一些参数,而不再使用全局变量。[5010] - Prophylactic casting(预防性强制类型转换),对于一些浏览器发来的数据进行强制类型转换,以防XSS跨站脚本攻击。[5022] [5037] [5080] [5084] [5099] [5100] [5121]
- 对于已经登录的用户在再次登录时将忽略redirect_to参数,直接跳转到后台管理首页。[5023]
- 在为文章指定新的分类时验证分类ID的正确性。[5031]
wp_title()函数的一个小修正。[5035]- 拥有unfiltered_html权限的用户在发表评论时评论内容不会被KSES检测,可能导致XSS攻击。而只有管理员和编辑员才有unfiltered_html权限,攻击者可以通过一次XSRF攻击来使管理员向自己的Blog发布一个评论,评论内容中包含XSS攻击代码。[5041] #3973 攻击描述
- 用
attribute_escape()函数处理previous_posts()和next_posts()函数的输出。[5047] - Don't cast to string if empty.(当变量为空时不要强制转换为字符串类型。)[5053] #3979
- 当输出src和href属性时,用
clean_url()函数代替attribute_escape()函数进行处理以防XSS。[5058] [5121] clean_url()函数里,不再给相对链接添加"http://"头。[5067]- 使用
clean_url()函数处理链接地址和链接RSS地址。[5070] - 在通过XMLRPC发布文章时检查是否有发布文章的权限。[5076]
clean_url()函数中,当检测到地址包含".php"字样的相对链接时不再添加"http://"头。[5097]
WordPress 2.0.10相对于WordPress 2.0.9更新的文件有:
- wp-admin/import/dotclear.php
- wp-admin/import/livejournal.php
- wp-admin/import/mt.php
- wp-admin/admin-db.php
- wp-admin/admin-functions.php
- wp-admin/bookmarklet.php
- wp-admin/edit-comments.php
- wp-admin/post.php
- wp-admin/upgrade.php
- wp-content/plugins/akismet/akismet.php
- wp-includes/classes.php
- wp-includes/comment-functions.php
- wp-includes/default-filters.php
- wp-includes/functions.php
- wp-includes/functions-formatting.php
- wp-includes/functions-post.php
- wp-includes/links.php
- wp-includes/pluggable-functions.php
- wp-includes/registration-functions.php
- wp-includes/template-functions-author.php
- wp-includes/template-functions-category.php
- wp-includes/template-functions-general.php
- wp-includes/template-functions-links.php
- wp-includes/version.php
- wp-comments-post.php
- wp-login.php
- wp-trackback.php
- xmlrpc.php
WordPress 2.1.3的更新有:
- 显示私有文章时,检查“阅读私有文章”权限而非“编辑私有文章”权限。[4971]
- 新增
add_users_page()函数,用于向一级菜单“用户”下面添加子菜单。[4988] - 将所有查询参数强制转换为字符串类型。可以解决当查询参数为数组时显示SQL查询错误信息的问题。[4991]
- 修复
parse_w3cdtf()函数中的bug。[4998] add_query_arg()和remove_query_arg()函数的返回值未做防XSS处理,因为它们的返回值可能被用于HTTP Header里的重定向地址。在这些返回值被作为HTML标签的属性输出到浏览器的时候,应该使用attribute_escape()函数进行处理以防XSS攻击。[5007] #3937- 使用
get_query_var()函数来获取一些参数,而不再使用全局变量。[5009] - Prophylactic casting(预防性强制类型转换),对于一些浏览器发来的数据进行强制类型转换,以防XSS跨站脚本攻击。[5022] [5037] [5079] [5083] [5085] [5092] [5120]
- 对于已经登录的用户在再次登录时将忽略redirect_to参数,直接跳转到后台管理首页。[5023]
- 修正一处只兼容PHP5不兼容PHP4的地方。[5027]
- 在为文章指定新的分类时验证分类ID的正确性。[5030]
- 拥有unfiltered_html权限的用户在发表评论时评论内容不会被KSES检测,可能导致XSS攻击。而只有管理员和编辑员才有unfiltered_html权限,攻击者可以通过一次XSRF攻击来使管理员向自己的Blog发布一个评论,评论内容中包含XSS攻击代码。[5040] #3973 攻击描述
看到攻击描述里写道:"We trick the admin into going to our sploit.html page (should be fairly easy using basic social engineering skills)."汗,经常有人问我问题的时候我就会打开他们的Blog页面帮忙检查,这么来说我不是很容易被人给社会工程学了? - 用
attribute_escape()函数处理previous_posts()和next_posts()函数的输出。[5046] - 用
attribute_escape()函数处理$pagenow变量后输出。[5050] [5060] - Don't cast to string if empty.(当变量为空时不要强制转换为字符串类型。)据说会影响到设置page为Blog首页的功能。[5052] #3979
- 在通过XMLRPC上传图片发生错误时输出更清楚的错误信息。[5055]
- 当输出src和href属性时,用
clean_url()函数代替attribute_escape()函数进行处理以防XSS。[5057] clean_url()函数里,不再给相对链接添加"http://"头。[5066]- 使用
clean_url()函数处理链接地址和链接RSS地址。[5069] - 不再使用
clean_url()处理编辑链接。[5073] - 在通过XMLRPC发布文章时检查是否有发布文章的权限。[5075]
clean_url()函数中,当检测到地址包含".php"字样的相对链接时不再添加"http://"头。[5091] [5096]- Akismet
插件,垃圾评论数被cache了。
WordPress 2.1.3相对于WordPress 2.1.2更新的文件有:
- wp-admin/import/blogware.php
- wp-admin/import/dotclear.php
- wp-admin/import/livejournal.php
- wp-admin/import/mt.php
- wp-admin/import/wordpress.php
- wp-admin/admin-ajax.php
- wp-admin/admin-db.php
- wp-admin/admin-functions.php
- wp-admin/admin-header.php
- wp-admin/bookmarklet.php
- wp-admin/custom-header.php
- wp-admin/edit-comments.php
- wp-admin/edit-form-advanced.php
- wp-admin/edit-page-form.php
- wp-admin/link-manager.php
- wp-admin/page.php
- wp-admin/post.php
- wp-admin/upgrade.php
- wp-admin/upload.php
- wp-admin/upload-functions.php
- wp-admin/user-edit.php
- wp-content/plugins/akismet/akismet.php
- wp-includes/author-template.php
- wp-includes/bookmark.php
- wp-includes/bookmark-template.php
- wp-includes/category.php
- wp-includes/category-template.php
- wp-includes/classes.php
- wp-includes/comment.php
- wp-includes/comment-template.php
- wp-includes/default-filters.php
- wp-includes/feed.php
- wp-includes/formatting.php
- wp-includes/functions.php
- wp-includes/general-template.php
- wp-includes/link-template.php
- wp-includes/pluggable.php
- wp-includes/post.php
- wp-includes/query.php
- wp-includes/registration.php
- wp-includes/rss.php
- wp-includes/script-loader.php
- wp-includes/theme.php
- wp-includes/user.php
- wp-includes/version.php
- wp-comments-post.php
- wp-login.php
- wp-trackback.php
- xmlrpc.php
WordPress 2.1.3到http://wordpress.org/download/下载,WordPress 2.0.10到http://wordpress.org/download/release-archive/下载。升级嘛,直接上传有更新的文件就可以了。这次数据库结构没有变动,上传完文件就升级完了。如果有shell的话,DreamHost可以用svn更新,盘古没有svn,只能wget下来然后解压。wget下载的时候最好下载tar.gz文件,这样下载完成后可以用md5sum命令查看一下文件的MD5码,对照WordPress网站提供的WordPress 2.1.3的MD5码以验证文件是否正确。
中文包也无须更新,还是用着WordPress 2.1.1的中文包就可以了,2.1.2和2.1.3都没有改动语言部分。
再等20天,看看WordPress 2.2会给我们带来什么惊喜吧。
中文包做好了?
更新太快了,晕
Yskin你也升级到2.1.x了。
闻说2.2四月份出,再等等,不知道那些插件什么时候才能跟上。
Yskin其实一直在用2.1,只是这个他用2.0
原来yskin已经用2.1.3了,我是准备相当长一段时间里不更新了
rss砸不全文输出了?
Sorry啊,前两天升级到WordPress 2.1.x系列时忘了应该开始使用我的这个插件了。谢谢提醒。
DreamHost的SVN怎么使用?有没有相关介绍啊?
呃,在WordPress网站的Subversion Access页面有介绍。登录shell,进入要安装WordPress的目录,输入
svn co http://svn.automattic.com/wordpress/tags/2.1.3/命令即可。突然想起来,DreamHost不是提供了WordPress的一键安装吗?那个功能应该更方便吧,只是要稍等一两天,等DreamHost把WordPress的一键安装更新到2.1.3版。
反应好快 -0-
yskin能否多找些功能比较完善的模板推荐?
我只用过K2,模板能做的事情它基本都做的差不多了,其他的功能只有靠插件了。
我的又出问题了,我是从2.1.2重装了一下,装的是2.1.3的,导入数据库没有提示任何错误,装到2.1.3以后首页可以打开但每个子页面都无法打开.请问该如何解决?
有的文件位置你弄错了
譬如user.php是在admin目录下面的
No, WordPress 2.1.3里,user.php是在wp-includes目录下的,wp-admin目录里的是users.php。列表为软件自动对比生成,而非我手工制作,所以不会错的。
我也感觉WP经常会出问题,是不是用的插件太多了?
呃,我现在用着30个插件。
我用的版本是2.0.10,在后台无论用没用“富文本编辑器”都不能发表一些HTML代码。
我主要是插入flash时输入了代码,结果发表后日志里不显示。)
请问如何让WP后台的编辑器可以发表并在前台执行任何HTML代码?
请教了,谢谢。 :)