- ベストアンサー
PHPのセキュリティが弱い理由は概念を掴みにくいClassを使わないプログラマーが多いため!?
思ったけど、PHPのセキュリティが弱いのは、もしかしてClassのアクセス制限修飾子(private,public,protected)を使うことが少ないからでしょうか?Javaは最初からそれをやらなければならないから、セキュリティが強いと思うけど…。 ということは、PHPプログラマは皆、Classというオブジェクト指向の難しさを嫌がるため、Classを使わないプログラムが多く出回っているのが現状ではないでしょうか。 皆さんのご意見もお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
オブジェクト指向を理解できない時代遅れのプログラマ又はプログラマ初心者が多いから ではないと思います。 単にPHPそのものの標準関数の脆弱性を知らずに平気で使っている人 セキュリティそのものの意識が薄い人 が多いからでしょう。 classつかってても、SQLインジェクションできてしまうソースも書けますし XSSだって同じ。 PHPそのものの脆弱性を理解していて、セキュリティへの知識や対策方法をしらないSEやPMが悪でしょうね。 プログラマ初心者や見習いプログラマがチームの中に居たとしてもSEやPMがしっかりと教育するなり、コーディング規約を作るなり、ソースレビューするなり をしていない現場が多すぎるだけ。 まぁ、ここまでくるとPHPに限ったことではなくなってきますけどね。 最近は、他の言語をまったく知らずにPHPだけ ってパターンもありがち ・PHPのみプログラマは安い。 ・安いからという理由だけで起用。 ・セキュリティの概念なんて分かるわけも無い。 ・上流工程にプログラムが出来る人が居るわけも無い。 ・上流のアホは、プログラマは何でもできる魔法使いだと思ってる。 ・PHPのみ初心者プログラマが、そんなこと出来るわけもない。 ・入門書にあるソースを丸写ししたような粗悪なコードで構築。 ・セキュリティの事なんて考慮してるはずがない。 ・表面的に動いているものが出来上がるので、上流の人たちは「安いプログラマでも作れるじゃん」という誤解。 ・次回も安いプログラマで良いよね。 ・メンテナンス性をまったく考えていないシステム。 ・脆弱性たっぷりのシステム。 の悪循環。
その他の回答 (1)
- masa6272
- ベストアンサー率66% (93/140)
PHP4までは、可視性の概念がありませんでしたね。 private、protectedなんてなくて、すべてpublicでした。 まだ、多くのシステムはPHP4ベースだと思いますので・・・ クラスと、脆弱性は別の概念だと思いますよ。 可視性は、開発側の問題で、出来上がったシステムの脆弱性とは、あまり関係ないでしょう。
お礼
ご回答ありがとうございました。 >まだ、多くのシステムはPHP4ベースだと思いますので・・・ それは知らなかったです。新たに学ぼうというものが面倒だからと思う人が多いではないでしょうか。
お礼
ご回答ありがとうございました。 inu2様が仰るように日本のIT企業がここまで待遇が悪いのは給与が安い背景にプログラマのモラル低下に繋がったのではないかでしょうか。また、inu2様が仰る内容のほぼ全てが同意できますね。 モラル低下に繋がることは、やる気減退となり、プログラマの多くは積極的に学習しようとせず、セキュリティが脆弱性に繋がると解釈されても否定はできないでしょうね。ライブラリの多くはほとんど外国で提供されていますし、日本で提供されているところをあまり見かけないですね。 プログラマの給与が安い→プログラマは積極的に学ぼうとしない→本が売れない→脆弱性続出→日本市場縮小→海外投資家嫌気売り続出→景気後退…これはプログラマに限った話ではないと思います。