Jun - 23rd

可燃物な日々

Posted at 1:46 am | Filed Under Fun

みやのさん、いつのまにか大富豪的に。

可燃物な日々:
3000千円ばかりの金があれば、思う存分、飲み食いできることが約束されているような。

三百万円あれば、たぶん大丈夫だと思う。

Read More>

Jun - 22nd

r3

Posted at 2:12 am | Filed Under PHP

今月のphp | architectはYahoo!が公開したテンプレート・ユーティリティのr3が特集されている。

Read More>

Jun - 21st

WordPress 2.2.1

Posted at 10:41 pm | Filed Under PHP, WordPress

WordPress 2.2.1が出た。例のPHPMailerのセキュリティ問題も修正されている。他にもXML_RPC絡みの問題が直っているので、サーバの全環境にパッチを当てた。

Read More>

Jun - 21st

O’Reillyの表紙ジェネレータ

Posted at 10:15 pm | Filed Under Fun

オライリーの本の表紙ジェネレータ。なんだか面白かったのでいろいろ作った。

Phphell

Read More>

Jun - 21st

Parallels 3.0とMac OS X 10.4.10

Posted at 8:49 pm | Filed Under Apple

こちらでは問題ないとのことだが(確かにサポートフォーラムには何も報告されていない)、手元の環境ではParallels上のWindowsからShared_Networkに接続できなくなった。

システム環境設定でParallels NATが動作していないと表示されていた。結局、Parallelsを再インストールした(データは消えないよ)ところ元に戻ったので原因は不明。設定の変更などはないので切り分けが難しい。

Read More>

Jun - 16th

The Yes Men、今回はExxon Mobilの本音を語る

Posted at 12:41 am | Filed Under News

boingboingにも記事が出ていたが、The Yes Menの今回の標的はExxon Mobilだった。カナダで開催された石油企業のカンファレンスにExxon Mobilのスポークスマンとして登場し、地球環境の激変により引き起こされる災害で死亡した死体を燃料とする新しい技術を発表したのだ。

以下にMLに流れた速報を転載する。

#Update:日本語にした

June 14, 2007
速報

EXXON社、異常気象による災害で死亡した人体を燃料とすることを提案
カンファレンス主催者はYes Menを逮捕出来ず

発表の全文、画像、動画:http://www.vivoleum.com/event/
GO-EXPO 側の発表:http://newswire.ca/en/releases/archive/June2007/14/c5086.html
エベント前にカルガリで開催された報道関係者による金曜日のカンファレンス:
http://arusha.org/event/7214
連絡先:mailto:fuel-at-theyesmen.org
末尾にさらにリンクあり

ExxonMobilとNational Petroleum Council (NPC)の代表と名乗る偽物が、アルバータ州カルガリのスタンピードパークで開催されたカナダ最大の石油関連企業のカンファレンスGO-EXPOにて300人の石油事業関係者の前でとんでもない基調演説を行った。

2万人が参加した今年のカンファレンスでもこの演説は最大のハイライトになるとGO-EXPOの主催者側は事前に宣伝していた。「NPC代表」が米国エネルギー省長官サミュエル・ボッドマンより委託され、これまで長い間期待されてきた研究の結果が発表されることになっていたのだ。ExxonMobilの前CEO、リー・レイモンド率いるNPCはこの研究会の議長でもある(末尾のリンクを参照)。

しかし、実際のスピーチでは、「NPC代表」を名乗る人物が現在の米国およびカナダのエネルギー政策(特にアルバータ州における二酸化炭素の排出量が多い油砂の大規模な開拓と液化石炭の開発)は地球規模の大災害が発生する可能性を高めていると語った。さらにこの人物は、それでも最悪の場合でも石油業界は石油に溺れて死亡した数十億の人々を石油に変換することで「石油の流れを止めない」ことが可能になると語り、聴衆を励ました。

「われわれには、クジラのようであり、なおかつ無尽蔵な何かが必要なのだ」と「NPC代表」の「シェパード・ウルフ」と名乗るこの人物(実際はYes MenのAndy Bichlbaum)は人間の屍骸をVivoleumという新しいExxonの石油製品に加工するために利用される技術について説明する前に述べた。3Dアニメーションがそのプロセスを鮮やかに描き出す。

「Vivoleumは化石燃料製品の継続的な拡張との完璧な相乗的な効果を発揮する」と「Exxon代表」の「フロリアン・オーゼンバーグ(実際にはYes MenのMike Bonanno)」氏は指摘する。「化石燃料が大災害を引き起こせば、それだけVivoleumの原料が増えることになる。燃料は生き残ったわれわれのために流れ続ける」

石油事業関係者たちはこのレクチャーをおとなしく聴き続けたが、続いて、毒性の流出物の清掃中に死亡した「Exxonの清掃係」の屍骸から調達されたVivoleumから作られたとされる「記念ロウソク」が点され、清掃係を讃えるビデオの中で、清掃係が死後はロウソクにされたいと語るところで、聴衆はようやくこれが何なのかに気づいた。

その時点で、このイベントを主催する企業の宣伝営業部のサイモン・メラーが壇上にのぼりYes Menを強制的にステージから降ろした。メラーがBonannoをドアの外に連れ出している間、Bichkbaumは「シェパード・ウルフ」として取り巻く報道陣にVivoleumの原理を解説し続けていた。

「われわれは準備しておかなければならない。どのみち、我が社の進めているような化石燃料の開発により壊滅的な異常気象が起きる可能性は高まっており、それが大規模な災害を引き起こすかもしれず、パイプラインや油田が利用できなくなるような移住、紛争が発生することもあり得る。石油なしではわれわれは食料の生産や輸送が不可能になり、大半の人間が飢餓に陥るだろう。これは悲劇だが、少なくとも屍骸は全て生き残ったわれわれのための燃料にすることが可能になるのだ」

「われわれは誰かを殺そうといっているわけではない」と「NPC代表」。「われわれは自然がその大仕事を成し遂げた後で、それを使おうといっているだけだ。どちらにせよ、異常気象の影響で既に毎年150,000人もの人々が死んでいるじゃないか。この数は今後も増え続ける。おそらく、もっとずっと増えるだろう。この全てを無駄にしてもいいのだろうか。酷い話じゃないか」

それから警備員がBichlbaumを報道陣の前から連れ去り、Bonannoと両名はカルガリ警察が到着するまで拘束された。重大な法律違反があったわけではないことを確認した警官は、Yes Menがその場を立ち去ることを許可した。

カナダの油砂は「液化石炭」と共にブッシュ政権のエネルギー安全保障計画の要である。油砂を採掘するのは石油の生産手法の中でも最も悪質で、これによりカナダは世界最悪の二酸化炭素排出国となる。「液化石炭」製品は通常のガソリンの2倍の二酸化炭素排出量となる。このような技術は、大規模な気象災害の危険性を増大し、数百万もの人々に死をもたらすことになる。その大半は貧しい人々だ。

「われわれのエネルギー安全保障対策が気象災害の可能性を増大させるのであれば、安全保障というものについてわれわれはとても奇妙な考え方をしていることになる」とBonannoは語った。「ExxonMobilは記録的な収益をあげ続ける一方で、その金を政府に異常気象への対応策を実施させないために使っている。これは人道に対する犯罪だ」

「Exxonの前CEOをNPCの職に据えて私たちのエネルギーの未来について彼の意見を求めるのは、狼に群れの番をさせるようなものだ」と「シェパード・ウルフ(Bichlbaum)」。「Exxonは環境と私たちが生き残るための機会を地球上の他のいかなる企業よりも手酷く痛めつけてきた。それなのにどうして私たちの未来を連中に決めさせなきゃいけないんだ?」

NPC と ExxonMobilについて:http://ga3.org/campaign/lee_raymond/explanation
アルバータ州の油砂について:http://www.sierraclub.ca/prairie/tarnation.htm
液化石炭について:http://www.sierraclub.org/coal/liquidcoal/

環境保護についてはいろいろいわれているけれど、ちょっと見たところではExxonMobilの進めているliquid coalとoil sandの開発は責められても仕方がないみたいだ。とにかく、すごい。

Read More>

Jun - 14th

Interop

Posted at 4:06 pm | Filed Under News

これは会場からの投稿。去年は情報漏洩などテーマが割と絞り込まれていた感じがするのだが、今回は例年よりおとなしめな印象。人が少ないからかな。

IPv6も鳴りを潜め、シンクライアントが増えたような気がする。Web 2.0パビリオンはうさんくさい。オライリーのブースでお買い物はカードも使えて大変お得。

いくつか、会社の事業とリンクしそうな製品を展示しているところがあり、あちらの困っているところとうちの利点もマッチしそうな感じなので、それはそれで収穫か。

本当はウェブアプリケーションのパフォーマンス測定のお安くて便利なソリューションがあればいいなあ、と期待していたのだが。

Read More>

Jun - 13th

twitter

Posted at 11:06 pm | Filed Under PHP

で、今時twitterを使ってみる。仕事中でも簡単に観られるように、登録した人たちのセリフだけXMLで引っ張ってみた。XMLの加工はまた今度。他の機能は必要に応じて追加しよう。

<?php

$user = 'hogehoge';
$pass = 'hogehoge';

define('_TWITTER_SERVER', 'twitter.com');

class twitter{

    function __construct(){

    }

    function setUser($user){
        if(!$user){
            die("NO USERNAME SUPPLIED.\\n");
        }
        $this->user = $user;
    }

    function setPass($pass){
        if(!$pass){
            die("NO PASSWORD SUPPLIED.\\n");
        }
        $this->pass = $pass;
    }

    function connect(){
        return $this->_connect2Twitter();
    }

    function _connect2Twitter(){
        if($this->con === NULL){
            $this->con = @fsockopen(_TWITTER_SERVER, 80, $errno, $errstr, 30);
            if(!$this->con){
                die($errno . ":" . $errstr . "\\n");
            }
        }
        return $this->con;
    }

    function disconnect(){
        fclose($this->con);
    }

    function getFriendsTimelineXML(){
        if($this->connect()){
            $basic = base64_encode($this->user . ":" . $this->pass);
            $req = "GET /statuses/friends_timeline/" . $this->user . ".xml HTTP/1.0\\r\\n";
            $req .= "Host:" . _TWITTER_SERVER . "\\r\\n";
            $req .= "Authorization: Basic " . $basic . "\\r\\n\\r\\n";
            fputs($this->con, $req);
            $content = '';
            do{
                $data = fgets($this->con, 1024);
                if(strlen($data) == 0){
                    break;
                }
                $data = preg_replace_callback("/((?:&#)([\\d]+)(?:;))/",
                    array($this, '_code2Char'), $data);
                $content .= $data;
            }while(true);
            $data_ar = split("\\r\\n\\r\\n", $content, 2);
            return $data_ar[1];
        }else{
            $content = "Connection Failed.";
            return $content;
        }
    }

    function _code2Char($array){
        $val = $array[2];
        return mb_convert_encoding(pack("H*", dechex($val)), "UTF-8", "UCS-2");
    }

}
$obj = new twitter();
$obj->setUser($user);
$obj->setPass($pass);
$obj->connect();
print($obj->getFriendsTimelineXML());
$obj->disconnect();

?>

_code2Charだけ必死だな。

Read More>

Jun - 12th

PHPMailerの脆弱性

Posted at 12:07 pm | Filed Under PHP, Security, WordPress

PHPMailerにリモートから任意のコードを実行出来る脆弱性が見つかっています。popen関数に渡される引数が適切に処理されていないので、入力値に問題があってもそのままコマンドがforkされて実行されてしまいます。WordPressにもwp-includes/class-phpmailer.phpとして組み込まれているので対策が必要です。

とりあえずpopenの前にescapeshellcmdでエスケープ処理を入れて、sendmailコマンドを分割して攻撃するような手口を回避することは出来ます。

//wp-includes/class-phpmailer.phpの396行目に一行追加します:

$sednmail = escapeshellcmd($sendmail); //追加
if(!@$mail = popen($sendmail, "w"))
{
    $this->SetError($this->Lang("execute") . $this->Sendmail);
    return false;
}

アドホックな処理なので、本来は入力値をチェックする必要があるのですが、プラグインを含めるとどこで使われているのか不明なので、とりあえずこれで対策しました。

Read More>

Jun - 11th

リチャード・ローティ享年75歳

Posted at 8:39 pm | Filed Under Death

スタンドード大学のサイトWikipediaみたいに素早い更新はないみたい。

というわけで、テリー・イーグルトンの敵、リチャード・ローティが亡くなりました。訃報はこちら。朝日新聞のサイトってページが消えるから嫌なんだよな。

Read More>

« go backkeep looking »