|
“学会接受并欣赏命运发给我们的牌,也许会有意想不到的乐趣。 我总认为,坦然的心境就是感受到幸福的理由。” |
f2blog在列表模式下直接显示username的小修正
Author:风之逸 Date:2008-11-08 23:03
f2blog设计成username和昵称分开,这样admin的登录名被隐藏,加强了后台跟密码的安全性。
可惜有个小bug,在列表模式下把鼠标指向标题。。。
需要修改include/content.inc.php
先找到这一句(基于f2blog v1.2 build 03.01),
<?php } else { ?>把它修改为以下:
<?php } else {
$author=(!empty($memberscache[$fa['author']]))?$memberscache[$fa['author']]:$fa['author']; ?>再到下面几行某处找到这一段:$strAuthor.":".$fa['author'].修改为:
$strAuthor.":".$author.就修正了。
这个小问题并不会有什么大的影响,不过还是建议自己动手修正一下。呵呵
小修改 - 让f2blog正常打开上传的大图片
Author:风之逸 Date:2008-10-27 14:42
f2blog上传大图片后可以设置生成缩略图,然后再插入文章中就比较美观。点击缩略图会在新窗口打开原图,可是这里的图片是原始大小显示,没有办法缩放以适合窗口大小。
如果图片很大,e.g. 宽1280以上(照片有这样大小是很正常的),就会出现显示不全的问题。这不是我们所想要的,毕竟一般笔记本分辨率也就1024×768.
lightbox是一个好的解决方法,只是用起来不够方便。我提供一个简单些的,一次性修改程序让打开的过大图片自动缩放去一个固定值(800×600),并且如果浏览器是IE可以滚轮缩放。
需要修改的文件: include/common.js.php
找到这个function:
function open_img(img_src) {
当那时f2的xmlrpc漏洞被发现
Author:风之逸 Date:2008-10-11 13:47
查看网上的文章,大多是今年5月的时候。我那时却少了根经,处于不闻不问的状态。
结果blog已经被人动了,自己却毫不知觉,直到这几天才惊觉其实已然中招。。。
幸运的是,人家对这里的兴趣也不大,基本上没有做什么破坏性举动。lucky? or not really so...
那时为何会不知觉,是因为只看到一个xmlrpc-g.php的文件。虽然有些纳闷,却也让我疏忽了。我就没有去做任何改动。直到一个月左右前,看到这样的文件在blog目录下,images71.php,觉得不对劲。查看其内容也很奇怪,是这样的字样:
<?php
/*
代码由http://1v1.name在线加密!
*/
eval(gzinflate(str_rot13(base64_decode('FJ3HjqR5tlJfpXT9WAzwQXfdFgTeezd24T1O4OHpLzmtV
...
中间省略n行,共100K左右大小
...
lv+ErdZaX6khNBgiBjRyQAFCAIjiNr/vPPv/79vv733//87/8='))));
?>
一时琢磨不透怎么回事。就把它给保存一份,然后删除掉了。后来在网上爬文,多少明白了是一种木马防杀的手段。通过多次加密,主机就没法杀除这样的病毒或木马。所以说。。。加密的部分多半是木马内容。
明白这点就更有些不放心,好好的查找了
升级到了FCKeditor 2.6.3
Author:风之逸 Date:2008-10-01 21:21
稍作学习,要在f2blog上升级编辑器是相当容易的事情。下载了最新版后把无用的说明性文件跟语言包通通清理掉,然后根据喜好自行配置一下fckeditor,直接就可以使用了~
感觉用起来很舒服,生成的html代码也很简洁。截个图:

我把宽度调成了80%,看起来有点别扭。呵呵,因为放100%的话实在有点太宽了。不过这个不重要啦,可以随意调整的。推荐一下,真的不错,而且自己动手从官方下载很有DIY的快乐。
如何用SQL重新排序留言跟评论的id
Author:风之逸 Date:2008-09-28 21:59
后来自己琢磨过滤器为何无效,重新开启这个功能之后基本上就控制住了评论机器人。
这样id就出现了很大一段空缺。因为根据MySQL auto intrement的设计,删除了之后的id是不会重新利用的。
于是就有了重新排序的想法。去网上爬文,发现有效也直接的就是删除这个field,然后再生成。
本机测试,确实有效。
自然我是以f2blog的数据结构作为例子啦。其他的理论上不是问题。
后来发觉还是有问题,分析一下发觉是comments表里面的parent field跟id有关联。于是就需要做点别的处理。
去网上参照了一篇文章,
http://www.bbstobbs.com/thread-16-1-1.html
然后基于自己SQL的一点基础,尝试性的写了一个SQL Script,有效~
代码如下,相信简单的修改后对别的blog数据结构也是可以应用的。
重新排序guestbook id:
ALTER TABLE `f2blog_guestbook` ADD `oldid` int(8) NOT NULL; update f2blog_guestbook set oldid=id; ALTER TABLE `f2blog_guestbook` DROP `id`; ALTER TABLE `f2blog_guestbook` ADD `id`
关于f2blog内容过滤器无效的问题代码
Author:风之逸 Date:2008-09-28 20:43
http://www.rainboww.net/home/read-157.html
说起来上次还卖关子,实在羞愧,胡乱发出来个补丁包却不对问题的症结进行解释。
如今f2官网也无法访问,感觉很是凄凉,先不论f2前途会如何,作为热爱这个程式的用户,希望能有些许的贡献。
正题。
出问题文件是 /include/function.php
内容过滤器无效的原因在这个replace_filter function, 代码如下:
function replace_filter($content){
include_once("cache/cache_filters.php");
if (!empty($filtercache1) && is_array($filtercache1)){
foreach($filtercache1 as $value){
if (strpos(";$content",$value)>0){
return $value;
}
}
}
if (!empty($filtercache4) && is_array($filtercache4)){
foreach($filtercache4 as $value){
if (strpos(";$con
代码高亮 SyntaxHighlighter 如何应用在blog中
Author:风之逸 Date:2008-09-27 00:53
看来是捣鼓成功了。相信有朋友会想用上自己的blog,我就把如何应用写出来吧。
首先这是个开源的项目,地址在这里:http://code.google.com/p/syntaxhighlighter/
里面有介绍。属于google code项目的一部分。
那么就开始介绍如何使用,顺便测试下代码的效果。
首先,下载它的那个应用包。地址在上面的链接里有,目前版本1.5.1,以下所有讨论都以这个版本为准。
下载后解压,
会有3个文件夹。我们把"Uncompressed"删掉,把"Scripts"改为"js",把Styles改为"css"
f2blog内容过滤器修正补丁
Author:风之逸 Date:2008-06-05 13:50
使用f2blog近来屡屡遭到spam机器人的骚扰,烦不胜烦,
甚至一度为此考虑更换程序。
还是决心自己解决这样的问题,毕竟f2的功能很好,而且都用了快1年了。
一开始都是在验证码上做文章,有一些效果。一度免受spam骚扰,但就前几天又被攻破,都快无语了。
真是道高一尺魔高一丈啊。
于是决心研究内容过滤的这个问题。
f2blog有内建的内容过滤器,可是却没有效果。
其实对付spam简单的方法就是过滤如“http”,“[url=” 这样的关键字。简单而有效的抓住了根本。
可是这样的debug谈何容易,以前就是找不出所以然中途放弃去弄验证码了。而f2的开发者也没有时间来更新,
还是自己来解决吧。
整整看了一上午,终于有了些眉目。偶然间的调试,问题找到了~给f2重新装备上内容过滤器,
真是让人振奋的事情!
说了这么多废话,希望大家理解兴奋的心情。呵呵
说明:
仅仅内容关键字过滤有效。ip,url,用户名没有测试过。
使用方法:
请基于骆驼大哥的验证码补丁上使用。骆驼大哥的补丁见以下地址。
http://forum.f2blog.com/thread-5521-1-1.html
补丁:
FilterRepair.zip (22.42 KB ,Downloaded: 69 time(s).)下载后直接覆盖文件即可。
请先备份原文件以防出现问题!
欢迎留言讨论,很高兴能为f2blog的朋友们解决点问题~
f2blog转去wordpress
Author:风之逸 Date:2008-05-02 20:12
前段时间试过,可行。不过后来又有人发布转换程式了,可以直接转去wp2.5.1,也许用那个更好吧。
以下方法是我使用的。
不过呢,我还是会继续使用f2的,呵呵。
1. 先安裝好WP2.2
2. 登入你的f2blog的後台, 用RSS匯出, 記住使用的格式是 .XML (普通格式), 不是.gz
幾秒後, 系統會自動產生了.xml檔案, 把它 / 它們下載下來.
3. 登入cpanel / phpmyadmin, 把f2blog的資料庫完整地全部export (匯出)
4. 下載這個巨集程式, 並且解壓縮
http://www.box.net/shared/olnlhnh6l6
5. 下載EmEditor (我推薦都用它來改程式碼), 記住下載時選的是Professional版本
http://www.emeditor.com/download.htm
6. 安裝EmEditor後, 右鍵(Right click) .xml檔案 –> 內容 –>選擇打開檔案 –> 設定為EmEditor
7. 用EmEditor打開全部.xml檔案, 然後在頂部的工具列, 選擇Marcos –> Customize –> New 0–把f2rss.jsee加入
8. 之後, 對一個.xml檔案, 都執f2rss.jsee (一樣, 每個檔案都按 Marcos –> 下面有一個 1 f2rss.jsee, 按一下就可以了)
9. 每次執行完, 都要把.xml給存一次
10. 現在打開phpmyadmin, 把你的f2blog sql給輸出, import(輸入)放在wordpress的資料庫裡面.
11. 打開wordpress的admin後台, 選擇 Manage–> Import –> RSS, 這後這一步你要小心的做. 假如當時f2blog產生了有幾個.xml的檔案, 比如說是:
2008-01-19-edfb40e9fb3febd25f7_v1.xml
2008-01-19-edfb44679fb3febs5f7_v2.xml
2008-01-19-edfb40e9fb3febd25f7_v3.xml
你永遠都要從最後的那一個xml, 即v3開始import. 假如你有7個xml, 那從最後的v7, v6, v5這樣子放進去….
12. 當所有RSS都成功import之後, 你就可以開始進行修改資料庫了
以下操作是SQL命令,建议在phpmyadmin里面进行。
在做下面動作前,是必須先透過RSS匯入f2blog的文章至wordpress的資料表中,接下來就直接做下面的動作了
1.新增欄位於wp_posts里面 f2blog_id int(12)
ALTER TABLE wp_posts ADD f2blog_id int(12)
2.更新f2blog_id這個欄位資料,塞入f2blog_logs的id
UPDATE (wp_posts LEFT JOIN f2blog_logs ON wp_posts.post_title = f2blog_logs.logTitle)
SET wp_posts.f2blog_id = f2blog_logs.id
3.更新wp_post2cat的post_id,這是文章對應類別的資料表,先把這裡的編號整合更新
UPDATE (wp_posts LEFT JOIN wp_post2cat ON wp_posts.ID = wp_post2cat.post_id)
SET wp_post2cat.post_id = wp_posts.f2blog_id
4.更新wp_posts的ID
為避免編號重複,先將wp_posts的編號加個10000,如果你的文章超過一萬筆,那數字就自己多加幾個0吧
UPDATE wp_posts SET ID = ID + 10000
編號改完之後再來更新wp_posts的ID
UPDATE wp_posts SET ID = f2blog_id WHERE post_type = 'post'
5.轉換f2blog_comments時間欄位為varchar屬性
ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` VARCHAR( 100 ) NOT NULL DEFAULT '0'
6.轉換f2blog_comments時間欄位的unixtime
UPDATE `f2blog_comments` SET `postTime` = FROM_UNIXTIME(`postTime`)
WHERE `f2blog_comments`.`id` >=1 LIMIT 99999
7.轉換f2blog_comments時間欄位為datetime屬性
ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
8.整理完畢開始拋轉f2blog→wp
INSERT INTO wp_comments
(comment_post_ID,comment_author,comment_author_email,comment_author_url,comment_author_IP,
comment_date,comment_date_gmt,comment_content,comment_karma,comment_approved,comment_agent,
comment_type,comment_parent,user_id)
SELECT logId,author,email,homepage,ip,postTime,postTime,content,0,'1','','','0','0'
FROM f2blog_comments
9.更新wp的wp_post迴響數
UPDATE (wp_posts LEFT JOIN f2blog_logs ON wp_posts.ID = f2blog_logs.id)
SET wp_posts.comment_count = f2blog_logs.commNums
10.刪除wp_posts的f2blog_id(12)這個欄位
ALTER TABLE `wp_posts` DROP `f2blog_id`
這次多了兩個步驟,因為除了文章的編號要更新,文章對應類別的資料表(wp_post2cat)內的文章編號也要更新,既然f2blog與wordpress兩邊的編號都已經整合同步,再匯入迴響資料的時候直接帶f2blog的文章編號就可以了,所以跑完上面這幾個步驟就整個完成了!
用這種方式的好處呢,就是除了資料非常的完整之外,再也不用擔心別人家曾經連結過的資料會找不到網頁了。
这种方法会丢失留言本里的内容,以及评论作者会有不一致的情况。可以根据情况SQL修改评论作者名。
注意,如果数据表前缀不是默认的'wp_','f2blog_'需要对SQL语句做对应修正。
一些相关文件:
f2rss.zip (327 Byte ,Downloaded: 16 time(s).)


