Google Crisis Response(Google)
災害に関する情報源や、行方不明者情報の収集と検索を行う『パーソンファインダー』を初めとするツールの提供が行われています。

2007年12月18日 火曜日

廃油で日本一周

Filed under: 雑多
時間:23時31分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 会社の帰り道、なにやら派手な自動車をJR静岡駅付近で発見。横に『廃油で日本一周』と書かれていました。

 何か聞いたことあるなと思いながら帰宅。検索で発見。派手なのはメッセージを書いたシールが張られているためでした。

 植物油で走る自動車で、男性2人が横浜を目指して旅をしているとのこと。燃料は飛び込みで調達した使用済みの植物性油をろ過して使用するそうです。汚れが少ないということで天ぷらを揚げたあとのが希望なんだとか。

 予定では明日・明後日静岡滞在だそうなので、提供できるという方はぜひ連絡を。静岡市内にいると思われます。ウェブサイトのフォームから連絡が可能です。

 自動車の写真は、残念ながら小さなものしかありません。トップページからリンクが張られているニュースサイトのほうがどんな感じなのか判ると思います。じっくり見たわけではありませんが、写真よりも張られたシールが増えていた気がします。

Comments (0)

2007年12月8日 土曜日

『オイレンシュピーゲル参 Blue Murder』

Filed under: 読書中
タグ:, ,
時間:18時06分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 角川スニーカー文庫の、オイレンシュピーゲル3巻です。今回は、『人格改変プログラム』に関する話になりそうです。サブタイトルの意味は『怒りの声』。

 また、特甲レベル3なるものも登場する模様。日常生活のがレベル1で、今まで戦闘用として転送されてたのがレベル2でしょうか。

Comments (0)

2007年12月5日 水曜日

IT用語は省略してもいいと思う

Filed under: コンピューター
時間:0時20分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 某携帯電話会社のCMで犬が「やたらと言葉を略すな!」と言っていますが、IT用語に限っては略したほうがいいようです。

 いつも見ているIT系ニュースサイト(マガジンかも)の連載4コマ漫画です。その筋の人にはニヤリです。この回のネタはIT用語の省略について。

 IT業界の人間は3文字に省略するのが好きだといいますが、単に省略しないと長すぎるというだけなのではないでしょうか。会話が面倒になりそうです。

 ちなみに、4コマ目のを省略すると、TCP/IP、HTTP、URL、DHCP となります。このあたりなら、個人向けルーターのマニュアルにも必ず出てきますね。1コマ目のは、LAN 以外は専門家じゃないと聞いたこともないかも。

Comments (0)

2007年12月1日 土曜日

akismet-multibyteview のリンクの修正

Filed under: WordPress,ハック,プラグイン
時間:9時28分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 WordPress のアップグレードと一緒に、そのままになっていた akismet-multibyteview のアップグレードもしました。1.20 からはダッシュボードのボックス枠(名前はあるんでしょうか。hook が activity_box_end なので、アクティビティーボックス?)にマルチバイトスパムの数が表示されるようになってさらに便利に。

 サイト内トラックバックが捕獲されてしまったので早速リンクから一覧に飛ぼうとしたのですが、File Not Found になってしまいました。ブラウザのアドレス覧を見ると http://edit-comments.php?page=akismet-admin&multibyte=true となっています。ソースコードでもやはりおかしなことに。

 こういうのを見るとついつい調べてみたくなります。早速ハックです。

ソースを見る

 何はともあれ、ソースコードを見ます。該当の処理は akismet-multibyteview.php の関数 akismet_stats_mbinfo が行っています。1.21 では139行目から始まっていて、目的の場所は156行目です。

  1. if ( $mbs_count ) {
  2.             echo
  3.                 '<li><a href="' . clean_url("{$this->akismet_admin_uri}&multibyte=true") .
  4.                 '"><strong>要チェック</strong></a>: スパムじゃないかもしれないコメントを ' .
  5.                 $mbs_count.' 件捕獲中です。</li>';
  6.         } else {
  7.             echo '<li>この中に日本語を含むものはありません。</li>';
  8.         }

 clean_url() という関数が使われています。URL として正しくなるように修正をするもので、WordPress ME2.1.3では wp-includes/formatting.php で次のように定義されていました。

  1. function clean_url( $url, $protocols = null ) {
  2.     if ('' == $url) return $url;
  3.     $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%]|i', '', $url);
  4.     $strip = array('%0d', '%0a');
  5.     $url = str_replace($strip, '', $url);
  6.     $url = str_replace(';//', '://', $url);
  7.     // Append http unless a relative link starting with / or a php file.
  8.     if ( strpos($url, '://') === false &&
  9.         substr( $url, 0, 1 ) != '/' && !preg_match('/^[a-z0-9]+?\.php/i', $url) )
  10.         $url = 'http://' . $url;
  11.    
  12.     $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&#038;$1', $url);
  13.     if ( !is_array($protocols) )
  14.         $protocols = array('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet');
  15.     if ( wp_kses_bad_protocol( $url, $protocols ) != $url )
  16.         return '';
  17.     return $url;
  18. }

 1078行目で、:// を含まなく / で始まっていなくて半角英数字+拡張子 php になっていない場合に http:// をつけるという処理をしています。

 そして、引数の文字列に含まれる変数 $this->akismet_admin_uri は、同じファイルの62行目で次のように定義されています。

  1. $this->akismet_admin_uri = 'edit-comments.php?page=akismet-admin';

 さて、ここで関数に渡される引数を確認してみます。変数が展開されると、引数は edit-comments.php?page=akismet-admin&multibyte=true となります。拡張子は php ですが、半角英数のファイル名ではありません。ハイフン(-)が入ってしまっています。そのため、clean_url() は http:// をつけてしまっていました。

 初めは akismet-multibyteview のバグだと思い解析をしていましたが、実は WordPress 側のバグでした。2.2.1 のコードでは次のように修正されています。

  1. if ( strpos($url, '://') === false &&
  2.         substr( $url, 0, 1 ) != '/' && !preg_match('/^[a-z0-9-]+?\.php/i', $url) )
  3.         $url = 'http://' . $url;

 作者のひろまささんはすでに2.3系になっていますので気が付かなかったのかもしれません。

修正

 コアファイルのほうを修正してもいいのですが、影響範囲が少ないプラグインのほうを直してしまいます。固定アドレスなので、関数の処理は必要ないと判断。156行目を次のように変更しました。ついでに & を文字参照にしてあります。やらなくても大丈夫ですが、気分的に。

  1. '<li><a href="' . "./{$this->akismet_admin_uri}&amp;multibyte=true" .

 これによってリンク先が正しくなり、マルチバイトスパムの一覧に飛ぶことができるようになりました。

Comments (1)

HTML convert time: 2.411 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo