2010年01月07日

USERTrust Legacy Secure Server CA

Humeia経由で「StartSSL Standard」のSSLサーバ証明書を取得したら、 中間認証局が The USERTRUST Network の USERTrust Legacy Secure Server CA となっていた。

Not Before: Nov 26 20:33:13 2009 GMT
となっているとおり新しい認証局のためか、Firefox 3.5 では不明な認証局となってしまう。(SafariやIEでは大丈夫)
仕方ないので、中間証明書を持って来てApacheにインストールした。

Posted by SYN at 21:32 for Develop このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2009年11月05日

シェルスクリプト実行PHPコード

シェルスクリプトをブラウザから実行するためのPHPコード。
このスクリプトを command.php などして保存し、同じディレクトリに command.sh を置く。
セキュリティホールになるのでSSL+Basic認証が有効になっている場所で使うべき。

<html>
<head>
<meta name="viewport" content="width=640">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><?php echo $_SERVER['PHP_SELF'] ?></title>
</htad>
<body style="background-color:#ffffff">
<h1>php-com</h1>
<?php if ( $_SERVER['REQUEST_METHOD'] != 'POST' ) { ?>

<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<p>
    Attr1: <input type="text" name="attr1"><br>
    Attr2: <input type="text" name="attr2"><br>
    <input type="submit" value="Execute">
</p>
</form>

<?php } else { ?>

<pre style="border:1px solid #eee;background-color:#f8f8f8"><?php
    $command = './command.sh';
    $command .= " " . escapeshellarg( $_POST['attr1'] );
    $command .= " " . escapeshellarg( $_POST['attr2'] );
    $command .= " 2>&1";
    print_r( htmlspecialchars( shell_exec( $command ) ) );
?></pre>

<?php } ?>
</body>
</html>
Posted by SYN at 20:29 for Develop | TrackBack (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2009年08月31日

Perl の print と syswrite をベンチ

Perl でログメッセージをファイルへ書き出すのに、 print() と syswrite() のどちらを使うか迷ったので、参考にベンチマークを取ってみた。
バッファを無効にした print() と syswrite() を比較すると、内部で呼び出すシステムコールが少ない分、syswrite() が有利だとWebで読んだが、ベンチマークを取って確かめるとその通りの結果が出た。

ざっくりまとめると、syswrite() は、バッファリングを無効にした print() より 2割ほど速い。
ただし、バッファリングが有効な print() は、バッファリングを無効にした print() より 4.6倍速い。
はっきり言って微妙な差だが、互換性を取るなら print()、少しでもパフォーマンスを上げたいなら syswrite()、バッファを喪失するリスクを無視出来るならバッファ有りの print() を選ぶことになる。
syswrite() はファイルをロックしなくても排他書き込みをしてくれるという情報もあるので、ログの書き出しのような用途にはこちらが良いのかもしれない。

Posted by SYN at 01:45 for Develop このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2009年08月30日

Snow Leopard で perl -v

mbair:~ syn$ perl -v

This is perl, v5.10.0 built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
Posted by SYN at 01:06 for Mac/Apple このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2009年08月27日

TwitterにPOSTするのにJSONは要らない

PerlからTwitterにポストするためにNet::Twitterを使おうと思った。

レンサバで使うのに依存関係が少ないものを使いたいので、Net::Twitter::LiteとかNet::Twitterの古いバージョンとかを物色し、PurePerlなモジュールのみでなんとか準備した。

しかし、Net::Twitterの中身を良く見てみると、“つぶやき”を投稿するだけなら、内容をURIエンコードしてPOSTするだけなので、JSONは必要としない。

POSTが成功した時の応答bodyにJSONが使われているのだが、投稿が成功したかどうかはステータスラインを参照するだけで判断出来るので、実質必要ない。

結局、LWP::UserAgentをuseするだけで目的を達してしまった。

Posted by SYN at 11:29 for Develop このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年08月16日

Foxmarksのjaロケール不具合対策スクリプト

Foxmarksをインストールしたら設定画面でxmlパースエラーが出た。

どうやら ja ロケールの foxmarks.dtd に不具合があるようで ja-JP ロケールの同名ファイルで上書きすれば直るらしい。

…というわけでコピースクリプトを作った。(Mac OS X専用)

Posted by SYN at 22:55 for Develop | TrackBack (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年07月22日

iPhone の UserAgent

Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20

Posted by SYN at 05:07 for Develop このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年03月14日

YouTube API利用コードをPerlモジュール化してみた

ゆーすけべー日記: Perl から YouTube の新API を使って動画をアップロードする」で公開されていたコードをほとんどそのまま利用させてもらってモジュールを作ってみた。
OO化してもあまり意味無さそうなので単にモジュール化しただけ。

Posted by SYN at 02:11 for Develop | TrackBack (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年02月17日

MacBook Air と Boot Camp まとめ

MacBook Air で Boot Camp を使おうとして軽くハマったのでメモしておく。

  • Boot Camp 領域への Windows のインストールには「リモートディスク」機能は使えない。
    • 手許にあった I-O DATA DVRP-UN8PL2 では失敗した。MacBook Air SuperDrive を用意するのが無難。
  • Apple USB Ethernetアダプタ の Windows 用ドライバは提供されていない(2008年2月16日時点)。しかし、野良ドライバで解決出来る。
  • Acronis True Image (Ver. 10) で Windows をインストールしたパーティションをバックアップし、元のパーティションにリストアすると、パーティションが使えなくなってしまった。原因不明。
  • Mac OS X で起動してディスクユーティリティで作成した(Windows をインストールした Boot Camp ボリュームの)ディスクイメージからは、(Windows をインストールした Boot Camp ボリュームを)復元して Windows を起動することができた。
    • ただし、他の Mac(私の場合は MacBook)の Boot Camp ボリュームをダンプしたディスクイメージを(MacBook Air の Boot Camp ボリュームに)復元した場合は Widnows は起動しなかった。
Posted by SYN at 04:00 for Mac/Apple | TrackBack (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年02月12日

Mac mini の HDD が読めなくなった

Mac mini の起動ボリュームが読めなくなった。ディスクユーティリティを掛けると「キーが不正です」と言われてしまう。
このMac mini を買ったのは 2005年8月だが、確か現在使っている起動ボリュームを作ったのは一昨年の8月頃。

メイン機ではなかったので大したデータは無かったが、Webサーバとして使っていたので、バックアップしていないファイルがいくつかある。ただ、iTunesサーバとしても使っていたものの、音楽ファイルは別パーティションなので無事(のはず)。
あとは物理障害でない事を祈るのと、少しでもファイルが読み出せる事を祈るのみ。

Posted by SYN at 22:44 for Mac/Apple | TrackBack (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

... リンク元 ...