January 31, 2008
magic_quotesがダメなのは、セキュリティ対策として機能が足りないのであって、magic_qoutesを使うとセキュリティ意識が思考停止するからと完全否定した結果として、今の状況があるのかもしれない。
変なクオートがつくので、元に戻す処理をしなきゃいけないのはダサいし、ディレクトリトラバーサルとか、その他の問題には無力だからというのもわかるんだけど、少なくともSQLインジェクションなど限られてかつ重要な問題に対しては回避可能なのだから、その批判に対してやらなきゃいけないのは、機能を向上したり、機能を追加することで、なんとかフォローできないか?って話であって、
セキュリティは開発者の意識として全般的にカバーされるべしという理想論の元、magic_quotesを使うなってネガティブな方向に行くのは勿体ないなぁと単純に思った。
っていうか、他の人が嘆いていることがそのまま現状の答えで、免許制にでもしなければ、理想論で無理なんですよ。きっと。
水は低きに流れるって奴なのかなぁ。
当時の議論を知らないし、PHP開発陣もそこまでやる気はなかったのかもしれないけど、もしPHPが、初心者向け入門言語としてのプレゼンスを発揮できるならば、OOPに対応するとかそんなんじゃなくて、初心者でもセキュアに易しいという方向で進化してくれれば、もちっとまともな話ができるんじゃないかな?と思う限り。
2000年頃にColdFusionがオープンソースだったら、ひょっとしたらその立場になりえたのかも。
で、PHPの一番の問題は、入門用と位置づける割には、そのパフォーマンスが、ほとんどのWebアプリに対して、十分な性能を発揮してしまうことだな。
入門用のスキー板とかならスピードが出ないから、ちゃんとやりたい人は自ずと上級者用の板にいくわけだから、上級者用の板を乗りこなすために努力するし、能力のヒエラルキーもはっきりする。
実際、VBはそんな感じだった。
もしPHP < Ruby On Railsというのがビジネス上のメリットとして差異が明確だったなら、railsに進むメリットがあるというもの。Javaは、そういう立場を守ってると思う。
だから、RubyでもPerlでもなんでも良いんだけど、ものすごい性能を発揮するようになって、みんながそっちに行くことが名実ともに憧れのキャリアパスという風になれば良いんだと思う。
って、あくまで責任転嫁だが、PHPを批判している人たちだからこそできる一つの解決法でもある。
あとは僕の解決案は、あるエントリーへの、はてブのコメントに書いてみた。できるかどうかは知らんけど、作る側が期待できないんなら使う側で解決しようって話だ。
はまちちゃんの知識をグリモンに落とし込んで、ユーザーが勝手にテストしてあげるってのはどう?はまちちゃんという俗人性に期待するには量が多すぎると思うから。
しかも、Pathtraqにテスト結果が集まったら面白い。サイボウズラボの方、いかがでしょうか?