PHP5.3.6がらみ?

 本日,(たまたま)縦書き「清貧譚 (seihin.php)」にアクセスしたら,表示されなかった。
 Apacheのerror.logを見たら,
  file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0
が出ている。allow_url_fopen=Off のせいって,昨日のアップデート以前から「Off」だったジャンと思うんだが,PHP5.3.6にしたせいらしい。
 仕方がないので,といってもallow_url_fopen=Onにするわけにはいかないので,代わりにcURLを使ってみることにする。
 最新のcurl-7.21.4-devel-mingw32.zipを落としてきて,解凍。
 http://www.php.net/manual/ja/curl.installation.phpによると,「libeay32.dll および ssleay32.dll が PATH の通った場所に存在する必要があります。」ということなので,curl.exeとlibeay32.dllをC:\PHPにコピーするともに,既に存在したssleay32.dllを最新版で上書きした。
 php.iniのextensionでextension=php_curl.dllをアンコメント。
 あと,清貧譚(seihin.php)の中のphpスクリプトをcURLで書き直す。こんな感じ。

<?php
        $url = "http://www.example.com/index.html";
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_TIMEOUT_MS,5000);   <---8/05追加
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $data = curl_exec($ch);
        curl_close($ch);
        $data = substr($data, 0, 100);
        $data = mb_convert_encoding($data, 'UTF-8', 'Shift_JIS');
        echo $data;
?>

 表示されるようになった。やれやれ。

追記(8/5):
 A secure rewrite of timthumb.php as WordThumb (魚拓です) を読んでて気になったので,上記にcurl_setopt ($curl, CURLOPT_TIMEOUT_MS,5000);を追加。PHP5.2.3未満,cURL7.16.2未満だと,CURLOPT_TIMEOUTじゃないと使えないだろう。value の適切な設定値が分からないので一応5秒に設定。

本家のお世話-#2。

投稿アップデート情報  追記4(2012/4/11)

 初っ端に自鯖をたてた時以来,Apacheについては,http://www.apache.org/dist/httpd/binaries/win32/から.msiを落としてきて使ってきた。
 ところが,今回,3月17日のPHP 5.3.6のリリースで,ちょっと困った事態が発生した。いままで提供されていたVC6 x86 対応バージョンがなくなってしまったのだ(この件に関しては,追記2・3参照)。しかし,PHP 5.3.6ではかなり脆弱性が修正されているので,アップデートしないというのは,日ごろの主義に反する。
 修正された脆弱性は,主なものだけでも以下の通りだ。

  • Enforce security in the fastcgi protocol parsing with fpm SAPI.
  • Fixed bug #54247 (format-string vulnerability on Phar). (CVE-2011-1153)
  • Fixed bug #54193 (Integer overflow in shmop_read()). (CVE-2011-1092)
  • Fixed bug #54055 (buffer overrun with high values for precision ini setting).
  • Fixed bug #54002 (crash on crafted tag in exif). (CVE-2011-0708)
  • Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive). (CVE-2011-0421)

 PHP For Windows では前々から,「Do NOT use VC9 version with apache.org binaries」となっている。見ての通り,NOTは大文字かつ太字。
 仕方がないので,http://windows.php.net/download/での指示通り,Apache Loungeに行って,httpd-2.2.17-win32-x86-ssl.zipを落としてきた。
 さて,地道に本家のお世話に取り組むか。

  1. こいつを解凍してみると,Apacheのディレクトリ名がApache2になっているので,これを現在の使用中のApache2.2に変更。
    また,*.confファイルの中に14か所あるc:/Apache2を,自鯖のパスにアジャスト。
  2. httpd.confを自鯖の環境に合わせて書き換え。
  3. conf/extra内の*.confの追加および書き換え。(awstats用,バーチャルホスト用などなど。)
  4. php-5.3.6-Win32-VC9-x86.zipを解凍して,php.ini-productionをphp.iniにリネームし,現在使用中のphp.iniと比較しつつ,手直し。
  5. allow_url_fopen = Onをallow_url_fopen = Offにする。(RFI対策のひとつ)
  6. ;extension_dir = “ext”をアンコメントし,extension_dir = “C:\PHP\ext\”に書き換え。
  7. ;extension=php_gd2.dllをアンコメント。
  8. ;extension=php_mbstring.dllをアンコメント。
  9. ;extension=php_mysql.dllをアンコメント。
  10. ;extension=php_mysqli.dllをアンコメント。
  11. ;date.timezone =をアンコメントし,date.timezone =”Asia/Tokyo”に書き換え。
  12. ;sendmail_from = me@example.comをアンコメントし,sendmail_from =”管理者のメールアドレス”に書き換え。
  13. ;mbstring.language = Japaneseをアンコメント。
  14. ;mbstring.internal_encoding = EUC-JPをアンコメントし,mbstring.internal_encoding = UTF-8に書き換え。
  15. ;mbstring.http_output = SJISをアンコメントし,mbstring.internal_encoding = UTF-8に書き換え。
  16. この際だから,ついでにdisable_functions =も編集して,disable_functions =”shell_exec, suexec, passthru, phpinfo”にしておいた。

 ApacheとPHPの下準備が済んだので,インストールにかかるが,その前にサイトのデータをバックアップ。この間みたいに後で青ざめたくないもんね!!
 今回ほかにもいろいろアップデートが出ているので,下記の順でやります。

  1. まず,VC6からVC9ということで,Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)を,更新も含めてインストール。
  2. ちょっとApacheをストップして,Apache Lounge版とそっくり入れ替え。
  3. C:\PHPの中身もPHP 5.3.6とそっくり入れ替え。
  4. ここで,ドキドキしながら,Apacheをスタート。おっ,走ったよッ。
  5. 再度,Apacheをストップ。
  6. ActivePerl-5.12.2.1203-MSWin32-x86-294165.msi
    ————> ActivePerl-5.12.3.1204-MSWin32-x86-294330.msi
  7. mysql-5.5.8-win32.msi
    ————> mysql-5.5.10-win32.msi (マイナーバージョンアップなので上書きインストール。)
  8. ImageMagick-6.6.7-4-Q16-windows-dll.exe
    ————> ImageMagick-6.6.8-10-Q16-windows-dll.exe (いつもながら,OSを再起動しないと更新されない。)
  9. phpMyAdmin-3.3.9-english.zip
    ————> phpMyAdmin-3.3.10-english.zip

 完了。
 いろいろ変わったので,ブログのプラグインでも不具合の起こる恐れもあります。なんか,気づかれましたら,ご連絡いただけたら幸いです。

追記:
 早速だが,次記事に書いたように,file_get_contents()が使えなくなっちゃったので,最新のcurl-7.21.4-devel-mingw32.zipを落としてきて,cURLをインストールした。
 http://www.php.net/manual/ja/curl.installation.phpによると,「libeay32.dll および ssleay32.dll が PATH の通った場所に存在する必要があります。」ということなので,curl.exeとlibeay32.dllをC:\PHPにコピーするともに,既に存在したssleay32.dllを最新版で上書き。さらに,php.iniのextensionでextension=php_curl.dllをアンコメントした。

追記2(4/5):
  #apache.org
   httpd-2.2.17-win32-x86-openssl-0.9.8o.msi (released 2010-10-19)
  #apache lounge
   httpd-2.2.17-win32-x86-ssl.zip Changelog 18 Oct ’10
 となっていて,apache.org版でPHP5.3.6はちゃんと動くようだ。
 http://www.phppro.jp/qa/3176 で,iroha_codeさん から情報をいただきました。iroha_codeさん,ありがとうございます。
  何事も,鵜呑みはいけないようですね。

追記3(4/6):
 kazenokakasiさんの情報 (http://sitifukuzin.com/blog/?p=16145) によれば,apache.org版では動かなかったようですね。
 うーん,情報が錯綜しているなぁ。サーバのアップデートというのはあまり試行錯誤してどうこうという種類のことじゃないので,Apache Loungeのzip版の上書きインストールが無難なのかもしれん。

追記4(2012/4/11):
 Apache導入についての新しい記事を,本家のお世話-#28。本家のお世話-#29。に書いた。

気を付けよう,スパム請求書。

 昨日,右画像のようなメールを受け取った。伏字にしてあるところは,WhoIsなどで調べれば誰でも入手可能な私のドメイン情報なんだが,まぁ,見るからに怪しいメールだね。差出人のドメイン名italiandesignerbrands.comでググってみたら,いろいろある。SPAM Bills?(魚拓です)とか,italiandesignerbrands.com – Italian Designer Brandsとか。特に,2つ目のDomainToolsの記載は実に興味深い。
 実際のメールでの,SECURE ONLINE PAYMENTのリンク先は「http://registrationdom.com/order/BoSgRQMWamy7EfIZaoK4LA%3D%3D」,また,画像では切れてしまっているが下にはClick here to unsubscribeがあって,これのリンク先は「http://registrationdom.com/unsubscribe/RKmgXMd2HqG7EfIZaoK4LA%3D%3D」となっている。このregistrationdom.comでぐぐると日本語の情報があった。サーチエンジン・レジストレーション?詐欺?というのだ。
 ところで,このメール見るからに怪しいと思うんだが,払っちゃう人とかいるんだろうか。まぁ,払う操作をしでかすとこまでいかなくても,リンクをクリックするとその先で,Keyloggerとか,Password Stealerなんぞに遭遇するってことはあるかもしれないねぇ。

Ajax Edit Commentsフリー版のバージョンアップ

投稿アップデート情報  追記2(2013/1/12)  追記3(1/25)

追記2(2013/1/12):
 うれしいことに, Ron が戻ってきて, v.5.0.13.0 がリリースされた。試してみたらこれは,楽に動くようだ。 12 日現在,日本語化ファイルは旧いものしか同梱されていないので, v.5.0.13.0 用をここに置いた。

追記3(1/25):
 最新版の日本語化ファイルは,右下の「いろいろ」のところ,あるいは,ここから落とせるように変更した。

———————————————————————————————————————————————
 昨日の朝,Ronから「Ajax Edit Comments is Back on the WordPress Official Repo」という題名のメールが来まして,WordPressのPlugin DirectoryにWP Ajax Edit Commentsを見に行ってみました。
   バージョン:3.2.0.0.
   WordPress2.8以上が必要で,3.1にも対応。
   最終更新: 2011-3-10
ということのようですね。まあ,私自身は有料版の4.1.8.3を使っているわけですが,フリー版がバージョンアップしたということで,日本語化ファイルもバージョン:3.2.0.0.に合わせて作り直しました。お使いくださる方は,こちらからダウンロードしてください。なんかまずいところがありましたら,お知らせください。

追記(7/21):今日たまたまWP Ajax Edit Commentsを見に行ったら,フリー版のバージョンが3.2.1.0になっていたので,これに合わせて日本語化ファイルを作った。

平成23年(2011年)東北地方太平洋沖地震

 前記事のコメントにもありますが,昨日から「平成23年(2011年)東北地方太平洋沖地震」で気が休まりませんでした。まだ,引き続いているのはわかっているのですが,今朝になって最後の一軒から電話があり,関東方面の親類縁者全員の無事が一応わかりホッとしたところです。

 被災の皆さんが落ち着けるよう一刻も早く余震が治まればいいのですが,これだけの大地震になると,余震も一年くらいのスパンで続くらしいですね。長野地方の地震も確立された学説はないようですが,一種の誘発地震のようなコメントを聞きました。
 これ以上大きなものが起きずに,救助活動が落ち着いてできる状態になることを祈るばかりです。