昨日は、Internal Server Error500に見舞われて、GrooveCafeが半日落ちてしまいました。。
なんで、急にInternal Server Errorになったかというと、実は昨日、GrooveCafeの入っているサーバにセキュリティーのため、「PHPsuexec」っていうのが導入されたらしいんです。。
んで、ちょっと「PHPsuexec」を調べてみました。
なかなか情報が無かったのですが、↓ここの情報が役に立ちました。
http://codylindley.com/Misc/74/server-security-issues--phpsuexec--textpattern
ほとんどのサーバは、PHPをApacheのモジュールとして走らせていますが、これは、ユーザNobodyまたはApacheでPHPが実行されているとうことだそうです。
すなわち、同じサーバに入っている別のユーザーからも、自分のPHPを実行されてしまうということですね。。
スクリプトを実行するだけなら、ヤバいスクリプトでない限りほとんど問題が無いのですが。。例えば、そのスクリプトの設定ファイルをconfig.phpなどとして、大切な情報を入れていた場合、その内容を読まれてしまうことがあるようです。
「PHPsuexec」は、、Apacheのモジュール版のphpをモジュールとしてではなく、CGIとして走らせ、PHPの実行権限をuser:userにしてくれるらしいんです。。
サーバ側で、「PHPsuexec」を入れることによってこの穴を塞いでくれるようです。。
しかし、
■777の(権限が甘い)フォルダに入ったphpスクリプトが動作しなくなる。(権限が限定されるので当然ですね。)
■.htaccessに入れた、php_flagの設定が効かなくなる。
←これでエラーが出てました。
だそうです。。
GrooveCafeでは、.htaccessを使って、register_globals offにしたり、その他諸々セキュリティーを高めていたのですが、それが使えなくなったために、Internal Server Errorが出ていたようです。
んじゃぁ、その設定はどうやってすりゃぁいいの?ってことになるのですが、.htacccessと同じように、フォルダの中にphp.iniファイルを置いて設定できるようです。。
PHPの動作に関する設定はココですればいいようです。。
この「PHPsuexec」ですが、サーバー屋はどんどんONにしていくだろうとのことですので、覚えていても損は無い情報ですね。。w