博睿智
SearchRSS
bob: 初步完成了与新浪微博同步发送碎语。
1. 即日起实验性开放评论功能。但是如您有使用上的问题需要提问,还是请点击“论坛”进入讨论区,以免延误。
2. 一些模板和插件也可以在论坛找到最新的版本,以及官方还没有整理到相关栏目下的新作品!
3. 本站空间由 拥有资源站竹园下 提供
bob 发布于 October 4, 2006 19:35
无废话版本。以下的插件均指“可被插件管理器识别并管理的插件”,非模块插件。

1. 插件存放的位置
所有插件都存放于plugin文件夹下,并单独建立自己的文件夹。比如 plugin/mynewplugin。

2. 文件构成
*setup.php  必需,插件识别信息,如名称、描述、制作者等
*install.php  非必需,插件安装时调用的文件,可用于新建数据表,创建文件,初始化数据等
*uninstall.php  非必需,插件卸载时调用的文件,可用于删除插件生成的临时文件等
*admin.php  非必需,插件后台调用文件
*<“接口”识别字符>.php  非必需,插件运行时调用的文件(解释见后)
*其它必要的文件,如图片
所有文件如有多字节文字,需以UTF-8编码保存。

3. setup.php的文件格式
以巴巴变相册插件为例。
<?php
$info
['name']="bababian"//插件识别名,必需是拉丁字母或数字,必需与插件所在文件夹同名
$info['author']="Bob";  //插件作者
$info['intro']="巴巴变相册";  //插件作用描述
$info['version']="1.0";  //插件自身的版本
$info['authorurl']="http://www.bo-blog.com";  //插件开发者网站
$info['blogversion']="2.0.1";  //插件可正常运行的最低blog程序版本
$info['register']="page";  //插件调用的“接口”识别字符的名字
?>


4. 运行方法
 
bob 发布于 April 9, 2006 13:49
前一段时间刚看到keso与phpx.com事件,这几天就相继有北辰swearl 反应被人用Trackback骚扰了。我这里虽然大体平静,但也偶然会有几个spammer光顾。看起来,继评论、留言本之后,广大spammer又发现新的战场了。

最容易被Trackback Spam利用的一点是Trackback URL的连续性,phpx的老大就是利用了这一点。大多数blog程序在设计的时候,Trackback ID都是连贯的,举例如下所示:
http://127.0.0.1/test/tb.php?t=1
http://127.0.0.1/test/tb.php?t=2
http://127.0.0.1/test/tb.php?t=3
http://127.0.0.1/test/tb.php?t=4
显然这样的设计,对于自动发送spam的程序来说真是太爽了。

现在的问题就是怎么去改进。改动ID的规则,改连续为随机,这是个解决方法。但是这样的改动不算小。而且,连续性的ID之所以受到欢迎是有原因的,比如管理起来很方便,比如可以利用SQL现成的auto_increment生成等。所以,最好能在不变动ID的情况下防范自动spam。

那就只能给Trackback加上一个“验证码”。在原有的trackback地址之外添加一个参数,并在接受trackback时验证。

我现在的做法是:取日志的ID,再取日志发布时间的Unix时间戳记,两者连接后作md5计算,截取md5字串的开头一部分作为验证码。PHP程序大致如下:
<?php
function tbcertificate ($blogid$pubtime) {
    
$str=substr(md5($blogid.$pubtime), 05);
    return 
$str;
}
?>

trackback的地址变成:
http://127.0.0.1/test/tb.php?t=1&extra=400e6
http://127.0.0.1/test/tb.php?t=2&extra=fa933
http://127.0.0.1/test/tb.php?t=3&extra=349d2
……

如果是防范自动推导Trackback地址并发送spam的程序,那么至此已经可以解决问题了。我想大部分spam都是这样的程序发送的。

当然,有可能魔高一丈。比如说在知道了验证码的算法后,spam程序依然可以从rss等地方提取出时间和ID这两个值来,自动推算出验证码。不过我想暂时地,不会有那么无聊的人士做这样的事情的。而且对策也不是没有。我们可以自设一个密码字符,加入到被md5计算的字符串中去。不过(-_-)spammer实在没辙了还可以直接上你的网站“采集”trackback地址啊。这个怎么解决呢?好吧,如果真有那么一天,我只能用javascript来生成地址了……(至于么......)
 
bob 发布于 March 24, 2006 19:48
由蓝景科技推出的PHP论坛程序产品,众盼已久的 BMForum 2006 正式版,于2006年3月24日正式发布。这次发布的新版本,聚集了广大用户的诸多期望,包括用户组复制、分区回收站、分版广告等实用功能,同时,也修复了较多的已知问题,包括新建论坛后顺序不正确等经常发生的问题,都在此次发布的 BMForum 2006 4.0 稳定正式版得以体现。

下载:http://www.bmforum.com/down/

  本次更新包括下列内容(较 BMForum 4.0 RC1):

  + 全面打破传统分类方式 —— 主题随意贴(Tags、标签)
  + 引入先进的 AJAX 技术,普遍用于发帖和浏览
  + 根据 XHTML1.0 + CSS 标准重构程序
  + 可设置注册时需要邀请码 即类似GMail的注册方式!
  + 首页热门 Tags
  + 基于 Tags 的相关主题
  + 完善回收站/帖子审核,支持分区回收站
  + Apache、Zeus Rewrite 支持,完全虚拟 HTML 生成
 
bob 发布于 March 10, 2006 20:50
之前曾经说过,侧边栏项目支持PHP代码,而不仅仅是html。但是为了保险起见,程序要求所有出现在侧边栏项目中的PHP代码全部用base64编码。以侧边模板切换器的代码为例:
<php>Z2xvYmFsICRsYW5nZnJvbnQsICR0ZW1wbGF0ZTsNCiRsYW5nZm
(中间省略)
</php>

这一部分,也就是被 <php></php>包围起来的部分,就是base64_encode后的php代码。

不过这样一来,改写代码和编码就显得比较麻烦。以下是我自己写的一个小程序,非常简陋,用于快速base64_encode与base64_decode。贴出来给需要的插件开发者使用。(顺便测试代码高亮功能)

以下请另存为 decodephp.php,直接打开就能用了。
 
bob 发布于 February 26, 2006 15:39
1. magic_quotes_gpc=on:
\ => \\
' => \'
" => \"

2. 当 \' 、\" 插入数据库时,字符并没有变化,仍然为 ' 和 " 。因此读出时无需再次stripslashes。
例外:magic_quotes_runtime=on时。

3. preg_replace的pattern中使用 /e 修正符,则replacement传递到callback函数中的情形为:
\ => \
' => '
" => \"

4. 从数据库中读取,当magic_quotes_runtime=off时,似乎 \ => 空 ?

总结:引号和反斜杠的问题很复杂,而且因各服务器的设置不同而千变万化。
现在我的解决方法是
\ => & #92;
引号则用 htmlspecialchars ,quote_style设置为 ENT_QUOTES。

希望SP1版本中贴代码的问题能够解决。
 
分页: 1/2 第一页 1 2 下页 最后页
分类
  • 程序相关 [74] RSS
  • 程序扩展 [42] RSS
  • 风格模板 [16] RSS
  • 插件扩展 [24] RSS
  • 风格下载站
  • 插件下载站
  • 技术随笔 [16] RSS
  • 生活感悟 [13] RSS
  • 杂七杂八 [70] RSS
日历
统计
访问次数 4267133
今日访问 453
日志数量 212
评论数量 3387
引用数量 82
注册用户 9
在线人数 17
其他
Powered by Bo-Blog 2.5.0 build 2011.07.03