PHPのセキュリティをちゃんとしないとかなり危険な件

PHPはウェブサーバで動作させるには比較的柔軟で使いやすい反面、
設定をしっかりしておかないと最悪なセキュリティホールに成り得ると言う話。
PHPで特に不可解なのが、PHPはファイルに実行権限が無くても動いてしまう点。
勉強不足なのかイマイチその理由がわからないが、例えば下記のような話なのだろうか。
PerlでもPHPでもCGIで動かす場合はパーミッションの設定を忠実に守っているから、
その辺をちゃんと理解出来ているなら良いんだけど、
利便性と難解さは基本的にトレードオフだから、
兎に角、最短距離で目的を達成したい場合はその難解さが障害になる。
CGIでセキュリティを上げたい場合、スクリプトを置く場所と静的ファイルを置く場所を分けたりするけど、
直ぐにスクリプトを設置したい時とかそれが結構面倒だったりするしね。
だから、面倒な事を殆ど設定しなくても動作するPHPは魅力的に映る。
面倒な事が無い方が普及する可能性が高いからね。
VisualBasicとかもそうだったしね。
それで、最近気が付いたのですが、apacheでPHPを動作させる場合、
拡張子でPHPスクリプトかどうか判別しているけど、
例えば「index.php.rar」とかにすると、httpd.confのAddTypeのPHPスクリプトに登録されていない
にも関わらず、apacheが勝手にphpとして判断して
スクリプトを実行させてしまうの。
気を利かせて動作させているか知らないけど、こんなの余計なお世話だわw
これはapache側の仕様だけど、この仕様もおかしいと思う。
アップローダとか設置してあると、CGIならその場所をCGI実行禁止にすれば良いんだけど、
PHPの場合何処でも実行権限無しで動作してしまうから、
凄い危険だったりする。
昔作っていたページにアップローダの残骸があって、
最近その辺の問題に気が付いて小手先で対策したが、いろいろ危険だからアップローダ止めようかな・・・

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>