Javaや.NETなど、Webで人気のある他のプログラミング言語は、銀行サイトに使用されています。ただし、銀行のサイトにデプロイするように設計されたPHPアプリケーションを見たことはほとんどありません。
どうしてこれなの? PHPはこれを阻止していますか、またはこれらの他の言語は安全なトランザクションで人気がありますか?
銀行サイトや主要な取引サイトのリスク管理コストは、大企業が.NETで開発されたアプリケーションに自信を持ち、.NETで提供されるセキュリティフレームワークを使用する方が、PHPを使用するよりもはるかに簡単で安価であることを意味します。
結局のところ、組織は、リスク選好度、脅威のプロファイル、開発チームの規模と種類に基づいて、必要なセキュリティを提供できると感じる最も安価な環境を使用します。
安全なPHPアプリケーションの開発は、エンタープライズレベルの.NETアプリケーションよりもはるかにコストがかかる可能性があります。
私は4つの主要な英国の銀行、2つの英国の金融取引サービス、および1つの米国の銀行でITコンサルタントとして契約しており、PHPベースのWebシステムに遭遇したことはありません。
私の経験では、80%はWindows/ASPで、残りはJavaです。現在の認識では、MicrosoftとOracleは、24時間365日稼働するミッションクリティカルなシステムをサポートできる専門的で安全な企業であり、PHPとオープンソースは、学生とハッカーだけが使用しています。これは当てはまらないことを知っています(私はPHPを使用して開発しています)が、それは認識です。また、MSおよびOracle製品はレガシー銀行のメインフレームとうまく統合しますが、PHPはこの分野ではそれほど機能が豊富ではありません。最後に、低コストであることからオープンソースが大好きですが、銀行はコストに煩わされず、保証されたサポートを受けるために割増料金を払います。サービス(可用性は、製品に対する顧客の認識に影響を与えるため、コストがかかるユーザーにとってより重要です)。
JavaはかなりまともなマージンでPHPよりも古くなっており、銀行はインフラストラクチャのコンピュータ化を開始した最初の機関の1つでした。したがって、原則として、それらのほとんどは、PHPが存在するずっと前に、Javaのような多くのものがすでに配置されていました。
しかし、それだけではありません。 PHPは、一般的にWeb専用の言語と見なされています。理論的には他の用途にも使用できますが、適合性は低くなります。銀行は、Webフロントエンドだけではなく、システムを実行するlotより多くのコードを必要とします。また、コードの大部分(およびプログラマー)がPHPを使用していないため、WebフロントエンドだけにPHPを使用しても意味がありません。
しかし、それだけではありません。 Javaと.NETは完璧ではなく、両方とも過去に問題がありました。しかし、PHPに対する評判を比較すると、Javaと.NETはバラのような香りがします。 PHPの評判は当然ではないかもしれません。 本当に悪いPHPプログラマーがたくさんいて、本当に悪いPHPコード自体は必ずしも言語自体のせいではありません。それでも PHPは少し「風変わり」です 。そして、しっかりした安全で保守可能な設計を探しているなら、PHPが最善の策ではないという強い主張があります。
私はフランスの銀行boursorama.comで働いています。スペイン、英国、およびドイツに3つの同様の銀行があります。 PHPは、高負荷アプリケーション(CおよびC++の代わりに)を除くすべてのものに使用します。一部のJavaプロキシは、他のソリューション。
PHPは銀行会社ではほとんど使用されていません。彼らのテクノロジースタックがPHP5自身より古いからです。PHP5以前は、深刻なオブジェクト指向機能を利用する以外に方法はありません。
私の経験から、銀行には単一の技術スタックはありません。彼らはあなたの技術(SOAP、RESTなど)に適合させる必要のないサービスを通じて外部パートナーと連携します。つまり、オールインワンで、パートナーがテクノロジーの選択に関与する必要はありません。
PHPは、将来、Java/C/.netのような古典的/専門的言語との真の競争相手になるでしょう。標準と安定性の面で大きな進歩がありました。また、スクリプト言語はこれまでになく高速になる傾向があります(javascript v8のパフォーマンスを見てください)。
一般に、PHP=のようなオープンソース言語は、企業の環境ではめったに使用されません。これは、人々が値と価格を関連付ける傾向があるためです(無料のものも品質が低いためです)。これは、プログラミングの世界では現実とは逆ですが、私はどの銀行も担当していません。
PHP具体的には-PHPに実行せずにアプリケーションを作成するのは その主要な欠陥の1つ セキュリティに真剣に取り組んでいる可能性は低いです(残念ながら、悪質なサイクルが発生し、メジャーなPHP=開発者はセキュリティについて何も知りません)。たとえば、多数あります 間違った方法 データベースの文字列をエスケープする( 正しいように見える を含む)、そして誰も 最も安全な方法 を使用することはほとんどありません。 PHPのハッシュパスワードは最近追加されたばかりで、 まだ使いづらい (そしてデフォルトが信じられないほど安全でないという事実)です。