PHP と ASP.NET の直接対決 2_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:27:08
オリジナル
792 人が閲覧しました

前回記事の続き:PHP と ASP.NET の直接対決 (1) セキュリティ比較 ASP.NET では正式に IIS の使用が必須となります。残念ながら、IIS には長い脆弱性があり、多くの管理者は Web サイトを処理するために IIS を導入することに消極的です。これらの弱点が Microsoft の欠陥によるものであるか、IIS がハッカーの標的であるためであるかは問題ではありません。これらのシステムにはハッキングまたは侵害された歴史があります。 PHP は Apache 上でも実行されます。Apache は高速でオープンソースであり、優れたセキュリティ記録を持っています。さらに、前述したように、Apache は多くのプラットフォームで実行されます。 ASP.NET を検討しているが、インターネット ポータルとして Apache を使用したい場合は、幸いなことにいくつかの選択肢があります。まず、Apache を使用して、別のマシンで内部的に実行されている IIS にリクエストを転送できます。次に、Apache は静的コンテンツを処理し、aspx コンテンツを IIS サーバーに配信します (インターネットには公開されません)。 ただし、Apache を利用して ASP.NET をホストする場合は、Microsoft がサポートするオプションとサポートしないオプションがいくつかあります。最後のオプションとして、オープンソース モジュールの構築に特化した Ximian の Project Mono があります。詳細については、www.go-mono.com をご覧ください。 データベースのコーディング例 PHP または ASP.NET を選択するときに最初に考慮すべきことの 1 つは、データベースへの接続です。ただし、ASP.NET の活用は、多数の代替言語から選択できるため、より複雑になります。もちろん、これらのコード例は HTML ページ、インスタンス化されたクラスなどに埋め込む必要があります。ただし、次の情報は、両方のコーディング スタイルのアイデアを示します。 PHP 5 と Oracle の接続 以下は、Oracle 接続および切断ルーチンを提供する PHP 5 クラスであり、PHP 5 の使用法を示します (他のドライバー (ODBC ドライバーなど) および共通データベース インターフェイスも使用できます)。 Oracle: クラス oracle_object { 保護された $user; 保護された $pass; 関数 __construct($u, $p, $d) { $this->user = $u; p; $this->db = $d; } 関数 db_​​open () { $theDB = @OCILogon($this->pass, $this->db) } 関数db_close() { @OCILogoff($theDB); db_check_errors($php_errormsg); } function __destruct () { print ("so long...") } を使用して Oracle に接続するにはVB.NET (Visual Basic は Microsoft のデフォルトの .NET プログラミング言語です) の場合は、MSDN の次の例を参照してください。 Imports System Imports System.Data Imports System.Data.OracleClient Imports Microsoft.VisualBasic Class Sample Public Shared Sub Main() Dim oraConn As OracleConnection = New OracleConnection ("Data Source=MyOracleServer;Integrated Security=yes;") Dim oraCMD As OracleCommand = New OracleCommand ("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn) oraConn.Open( ) Dim myReader As OracleDataReader = oraCMD.ExecuteReader() Do While (myReader.Read()) Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0), myReader.GetString (1)) Loop myReader.Close() oraConn.Close() End Sub End Class 選択する まだ PHP を使用することに決めていないと仮定すると、PHP の利点は欠点をはるかに上回ると断言できます。 (表 1 の概要を参照してください。) これらの利点は、価格、速度と効率、セキュリティ、クロスプラットフォームの適用性、およびオープンソースの機会に要約されます。唯一の弱点は、純粋で完璧な OOP 実装がないことですが、これは小さな欠点です。言語構造は確かに役立ちますが、優れたコーディングは最終的には練習、実行、良い習慣、規律から生まれます。 表 1 PHP 4 PHP 5 ASP.NET ソフトウェアの価格 無料 無料 無料 プラットフォーム 価格 無料 無料 $$ 速度 強力 強力 弱い 効率性 強力 強力 弱い セキュリティ 強力 強力 プラットフォーム 強力 強力 (IIS のみ) プラットフォーム 任意の win32 (のみ) IIS) ソース コードは提供されていますか? いいえ はい: 弱い、強い、強い価格。ここでは、単に初期投資 (PHP の場合は明らかに無料) だけでなく、実装、メンテナンス、デバッグのコストも考慮する必要があります。 PHP の場合は、Zend 最適化エンジンを購入することをお勧めします。ただし、ASP の場合は最初から投資が必要で、グラフィック処理を実行するライブラリなどの追加テクノロジーにも料金を支払います。しかし、長期的には、PHP はアップグレードを強制したり、ライセンスの追加料金を請求したりすることはありません。複雑なライセンスを扱ったことのある人なら誰でも、多くの企業がコンプライアンスを確保するためだけに膨大な時間と費用を費やしていることを知っています。また、バグ修正の場合、得られる反応はさまざまです。もちろん、これは時間に換算され、全体的な開発コストに換算されます。 スピードと効率。先ほども述べたように、ASP.NET はさまざまなプログラミング言語を使用できるようにするフレームワークです。さらに、優れたオブジェクト指向モデルを備えていると言われています。これらはすべて真実ですが、速度を考慮すると不利になります。これらの理由により、ASP.NET で ASP ページを実行するには、PHP エンジンで同等の PHP ページを実行するよりも多くのコードを実行する必要があります。PHP は「迅速かつ汚い」ソリューション、つまり仕事を完了するために設計されたソリューションです。バージョン 2.0 および 3.0 以来、多くの強力な機能強化が行われていますが、コアの最適化された高速アプローチは依然として維持されています。 考慮すべき要素は速度だけではありません。メモリ使用量も重要です。 安全性。 ASP.NET は IIS 上で実行されますが、隔週の IT ニュース報道が確認しているように、IIS は数え切れないほどハッキングされています。実際、これは非常に負担になっているため、その高価な売り込みにもかかわらず、多くの IT プロフェッショナルが依然として IIS Web サーバーでネットワークを開くことを拒否しています。そして、PHP は Apache を使用します。 Apache には、速度、信頼性、強固なセキュリティに関して実証済みの実績があります。詳細については、www.securityfocus.com をご覧ください。 クロスプラットフォームの適用性。 ASP.NET は IIS 上で実行され、Apache 上でも実行され始めています (Apache は多くのプラットフォームで実行されます)。 PHP は Apache と連携できるように最初から設計されているため、実績のある信頼性の高いサーバー プラットフォームを数多く選択できます。 オープンソースの機会。オープンソースは、ライセンス料を節約したい少数の気まぐれなプログラマーや企業だけに任されているわけではありません。ソフトウェア自体のバグに対処する場合、オープンソースはまさに天の恵みとなる可能性があります。 PHP または ASP.NET の場合、ソフトウェアを使用するユーザー ベースが大きいため、エラーが発生する可能性があります。 ASP.NET では、これらのバグは公式プロセスを通じて通知され、新しいパッチまたはバージョンで修正、テストされ、除去される必要があります。ただし、PHP パッチはすぐにパッチを適用してリリースできます。オープンソースの開発を目撃した人なら誰でも、新しいバージョンやパッチが商用ソフトウェアのように数週間や数か月ではなく、数日以内に公開されることが多いことを知っています。これが十分に迅速でない場合は、通常、必要に応じて自分で問題にパッチを適用できます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531907.html技術記事前回記事の続き:PHP と ASP.NET の直接対決 (1) セキュリティ比較 ASP.NET では正式に IIS の使用が必須となります。残念ながら、IIS には長い歴史を持つ脆弱性があり、多くの管理者がそれを妨げています...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート