アーカイブ:  « 2007年6月 | メイン | 2007年8月 »

2007年7月30日

php.iniの設定をドメインごとに切り分ける

PHP_INI_PERDIRまたはPHP_INI_ALLとなっている設定項目については、httpd.confや.htaccessなどにおいて、php_valueディレクティブとphp_flagディレクティブにて指定することが出来るので、事実上ドメインごとやディレクトリごとによって挙動を変えられる。

詳しくはほでなすPHPを参照すると良い。

ルーティング設定

スタティックルート設定
コマンド:route add -net (ネットワークアドレス) netmask (サブネットマスク) gw (ゲートウェイ)
ファイル:/etc/sysconfig/static-route

デフォルトゲートウェイ設定
/etc/sysconfig/network
の中のGATEWAYを設定する。

デフォルトゲートウェイの設定を有効にするには
/etc/rc.d/network restart
を実行する。

SMTPコマンドを使う

メールがうまく送信できないとき、メールクライアントソフトを使えばいいのかもしれないが、サーバーだったりするとインストールしたくてもできないなどの制約が発生する場合がある。そんなときはコマンドを使って送信する方法を知っていれば便利だ。
http://members.jcom.home.ne.jp/j-klein/security/network-proto-smtp.html

2007年7月20日

PHP4のサポートが2007年度で終了

PHP公式サイトにて7/13付けで2007/12/31でサポート提供が終了されるアナウンスが行われた。
以下は、公式サイトより引用。

Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5.

一応2008/8/8まで深刻なセキュリティパッチは提供されるとのことだが、3年間サポートされ続けたPHP4はPHP5そしてPHP6に受け継がれることになった。

PHP4がリリースされてから3年もたっていることに驚いているが、4.2.0にてregister_globalsのデフォルトがOnからOffになるというメジャーバージョン級の仕様変更などPHP4はいろんな意味で僕を騒がせてくれた。

そして今もなおソースコードのバージョン移行に伴って、関数の実装変更などから頭が痛い問題が多い。これからもPHPはいろんな人を巻き込みながら、進化を続けていくに違いない。

2007年7月18日

1.3系のWindows用Apacheのインストーラが見つからない

もうすでにApacheは2.2がリリースされており、1.3系の古いApacheはもう使われないのかもしれない。
だけど、何らかの理由によって1.3系のApacheを使いたいとしても、apache.orgには1.3系のWindows用のバイナリパッケージを探すことはできない。tgzファイルはリンクが貼ってあるが・・・。

アーカイブ用のページが実は存在していて、1.3系のWindows用バイナリパッケージがあるので、もし必要なときには覗いてみると良いだろう。

RTXでMACフィルタリングを行う

ヤマハ製のルータRTXシリーズにてMACアドレスフィルタリングを行うには、Rev.8.03.24以降のファームウェアの適用が必要ですよーというのは、ここに記載があるわけですが、どうやればMACアドレスフィルタリングできるのかがよくわからなかった。

ちなみにRev.8.03.24のリリースノート(リンクがないので分からなかったが、何とか探し出した)には実現するためのコマンドが書いてあったので、以下のとおり書式を記載しておきます。

ethernet filter NUM KIND SRC_MAC [DST_MAC [OFFSET BYTE_LIST]]

2007年7月 4日

URL に使用可能な文字数は最大 2,083 文字

KB208427 http://support.microsoft.com/kb/208427/ja

IE7では改善されているようです
以下、MSDNライブラリ原文をそのまま引用

バージョン 6.0 までの Internet Explorer は、クエリ文字列のデータを含め、URL の 2,048 文字までしか処理できません。URL が 2,048 文字を超える場合、エラーが発生したり、クエリ文字列のデータが切り捨てられたり、要求と共に送信されなかったりします。ASP.NET Web ページでは、ビューステート情報 (非表示のフィールドに格納されます) が要求に含まれる場合、post データを含む GET 要求が 2,048 文字を超えることはよくあります。この場合、エラーが発生します。他のブラウザにはこのような制約はありません。詳細については、http://support.microsoft.com にある Microsoft サポート技術情報の文書 208427「[IE] URL に使用可能な文字数は最大 2,083 文字」を参照してください。複数のページで情報を共有するときにこの制約に対応するには、このトピックの説明に従って HTTP POST 要求を使用してユーザーをリダイレクトします。アプリケーションで HTTP GET 要求が必要な場合、クエリ文字列を使用しなくても、セッション状態など他の方法で情報を格納できます。

2007年7月 3日

インスタンスが突然停止する

Oracle Databaseでインスタンスが突然停止してしまう問題が発生した。

原因は、Redoログが別のプロセスによってロックされてしまったためにロールバックに失敗して異常停止になったようだが、データベースが突然停止するなんていうのを始めて目の当たりにしただけにショックが大きい。

結局別プロセスというのがシステムのバックアップソフトだったわけだけど、バックアップでRedoログを取得するなんていうのは珍しい話ではないだけに、トランザクションが常時利いているOracle Databaseは意外なところで弱いのかもしれない。

セキュリティと利便性

つい先日、メインバンクの新生銀行のログイン方法が強化されて、口座番号+パスワード+ログインパスワードの従来の認証パターンに乱数表による認証が追加された。

おそらく推測されやすいパスワードによる不正アクセスに対応したものなのかもしれないが、さすがに乱数表を入れられてしまうと覚えられないので乱数表を持ち歩かなきゃいけなくなってしまう。

乱数表をなくしてもログインされることはないだろうけど、再発行されるまでログインできない。

セキュリティ強度を上げれば使いにくいシステムになることは仕方ないわけだけど、ユーザーのリスク認識に応じてセキュリティ強度を選べるようにしてほしい。