标签归档:format

boblog中文汉字验证码增强补丁

  最近一段日子被可恶的spam盯上了,每天来博客查看的时候发现总是有百十条垃圾评论。前些日子比较忙,于是索性把博客设置成了所有言论需审核。今天终于忍无可忍,决定对这些个spam宣战。

  boblog里面已经开全了验证码设置,但是每天还是有那么多条提交,于是怀疑自带的验证码被识别了。在官方找到一个增强版的验证码(传送门:官方验证码增强),patch之后有所好转,但是依然出现了接近10条spam评论(却是为何?这个识别起来没那么容易啊,求解。)于是决定上线更加复杂的中文验证码补丁。中文验证码的思路和英文是一样的,建立画布,随机点上噪点,随机划上干扰线,然后在随机选取字符,用字库生成即可。过程不复杂。在实施的时候去javaeye上面找了点现成的代码放上,偷懒了,呵呵。 (传送门:中文验证码原文

  使用效果预览:
  查看图片

  以下是修改好的适用boblog的验证码Patch,覆盖对应文件即可。验证码采用的字库为随Android系统发布的Droid字体,遵从Apache许可证协议分发。 继续阅读

博客更换域名服务器

由于众所周知的原因,我被迫将博客和域名迁移至美国的空间。速度还不错~

先前的域名由于是CN域名,无法转出,但目前仍能使用。至于使用到什么时候,只能听天由命了。

通过www.msphome.cn访问会自动转跳至新域名。

新域名为starlight36.com

感谢大家的支持!

PHP将相对路径URL转换为绝对路径URL

      在采集程序或者蜘蛛程序中经常会遇到一类问题,就是将网页中相对路径形式的URL转换为绝对路径形式的URL。例如在http://www.msphome.cn/blog/1/这个页面中,有一个URL链接为../index.php,那么我们要将它转换为http://www.msphome.cn/blog/index.php。下面给出了解决这类问题的代码。该程序能够成功处理各种URL,将其变成绝对形式。

[codesyntax lang=”php”]/**
* 将一个URL转换为完整URL
*
*/
function format_url($srcurl, $baseurl) {  
  $srcinfo = parse_url($srcurl);
  if(isset($srcinfo[‘scheme’])) {
    return $srcurl;
  }
  $baseinfo = parse_url($baseurl);
  $url = $baseinfo[‘scheme’].’://’.$baseinfo[‘host’];
  if(substr($srcinfo[‘path’], 0, 1) == ‘/’) {
    $path = $srcinfo[‘path’];
  }else{
    $path = dirname($baseinfo[‘path’]).’/’.$srcinfo[‘path’];
  }
  $rst = array();
  $path_array = explode(‘/’, $path);
  if(!$path_array[0]) {
    $rst[] = ”;
  }
  foreach ($path_array AS $key => $dir) {
    if ($dir == ‘..’) {
      if (end($rst) == ‘..’) {
        $rst[] = ‘..’;
      }elseif(!array_pop($rst)) {
        $rst[] = ‘..’;
      }
    }elseif($dir && $dir != ‘.’) {
      $rst[] = $dir;
    }
   }
  if(!end($path_array)) {
    $rst[] = ”;
  }
  $url .= implode(‘/’, $rst);
  return str_replace(‘\\’, ‘/’, $url);
}

$srcurl = ‘/guestbook.php’;
$baseurl = ‘http://www.msphome.cn/index.php/ddd.html’;
echo format_url($srcurl, $baseurl);

?>
[/codesyntax]