「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
PHP 5.3.12/5.4.2リリース
昨日(2012年5月3日)、PHP 5.3.12と5.4.2がリリースされました。
脆弱性の修正ですので、アップデートすることを推奨します。
PHP 5.3.12 and PHP 5.4.2 Released!(PHPのサイト)
問題が起きるのは、「CGIベースでPHPを動作させている特定の環境のみ」ということです。
PHPのページのアドレスの最後に「?-s」を付加したときに、そのページのPHPのソースコードが表示された場合は、脆弱性の問題が発生しています。
Apache+mod_phpの環境や、nginx+php-fpmの環境では、この問題は発生しません。
しかし、Apache+mod_cgiの環境では影響が出る可能性があります。
なお、レンタルサーバー等で、PHPをアップデートできない場合もあります。
その時、URLのパラメータの先頭が「-」で、その後に「=」を含まない場合に、URLのパラメータを書き換えて対処する方法が紹介されています。
例えば、Apacheでmod_rewriteが使える環境なら、.htaccess等に以下のような行を追加します。
RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC] RewriteRule ^(.*) $1? [L]