• ベストアンサー

CGI vs PHP ?

自社のDB検索のHPを作成するのに、プログラム等を CGIにするかPHPにするかで悩んでいます。 PHPの方が動作が軽快で良いという話しもありますが、 セキュリティの問題があるそうです。 今後のインターネットの仕様・動向を考えた時、 皆様でしたら、どちらをお選びになられますか? 理由を添えてどうかお考えを是非、お聞かせ下さいませ。 よろしくお願い致します。 CGIのカテゴリーですが、忌憚のないご回答を 期待してます!! 

  • CGI
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.3

#2です。 >「複雑なスクリプトを記述した場合、PHPは > ブラウザで確認できないなどの問題がある」 これの意味はちょっとわからないです。すいません。 基本的にPerlであれ、PHPであれ、「プログラムで算出した値をHTML化し、HTTP通信でクライアントへ送り、ブラウザで表示する」というものです。 プロセスこそ違えど、やることは同じなはずです。 > ところで、I/Fとは何のことですか? インターフェイスです。 ようはPHPではプログラムとDBのつなぎ目が最初から用意されているんです。 もともとPHPはDBを用いたプログラムを作るのに最適なWeb言語として開発されました。 なので、あらゆるデータベースに対してのI/Fがデフォルトで用意されているのです。

その他の回答 (2)

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.2

CGI=Perlという認識でよいでしょうか? (CGIとはWeb上で動くプログラムの総称です。) 個人的にはPHPを推します。 DBとの連携を考えているのであれば、PHPの方がI/Fがわかりやすく充実しているのでそちらのほうがよいとおもいます。 >セキュリティの問題があるそうです。 これに関しては情報を私がもっていないので、できれば情報ソースを提示してもらえませんか? ただ、私が今まで開発したPHPでのシステムでは、セキュリティで大きな問題は発生しておりません。

welovekobe
質問者

補足

どうも有難うございます。 専門家の方の話しを聞いただけなので、 セキュリティの問題は詳しくは知りません。 ただ、 「複雑なスクリプトを記述した場合、PHPは ブラウザで確認できないなどの問題がある」 とのことです。これもどういう意味なのか小生の 知るところではありません。ご存知でしたら、逆に お教え下さいませ。 ところで、I/Fとは何のことですか? 良かったら是非教えてください。 ご意見、十分にご参考にさせて頂きます。 どうも有難うございました。 ではでは。               感謝

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

PHPにセキュリティの問題があるというよりは、 Webページを作成したプログラマの腕と知識に 依存すると思います。 セキュリティの知識が無いプログラマが書けば、どんな言語でも穴だらけのプログラムになるでしょう。 検討項目としては ・あとあと、メンテナンスが楽なもの ・どの程度まで速度を求められるものか? があげられると思います。 まぁ、私なら楽なPHPを選びますね。 もっとも、速度に関してはプログラマの技量次第ですけど、、、

welovekobe
質問者

お礼

どうも有難うございます。 確かに、プログラマの腕に掛かっているのは 当然だと思います。 ただ、一般的に言われている何らかの問題が あれば、是非、お聞かせ願いたいわけなんです。 ではでは。

関連するQ&A

  • CGIとPHPは何をするもの?

    いろいろサイトを見て知ったのはPHPの方がCGIより軽量で動作が速い、データベースへ簡単に接続できるということ。まではわかりました。 しかし、PHPはCGIではないのですか? いろいろネットで調べてもPHPはCGIと同じようなことをするものだとしかおもえませんが、わざわざ「PHP」と「CGI」を区別するのには何か理由があるのではないのでしょうか? プログラマの人からすると常識でしょうが、プログラムを書いたことが全然ないので全くの素人です。 CGIとPHPはいったいWEBで何をするのでしょうか?プログラミングとは聞いているのですが、それを使って何が出来るというのがわかりません。よろしくお願いします。

    • ベストアンサー
    • CGI
  • 初心者ですが お尋ねします。CGIとPHPはどっち?

    このたび自社で不動産屋さんのような検索サイト製作を考えておりますがCGIとPHPが有りますが 検索サイトを構築(プログラム)するのはどちらが好ましいでしょうか?これからチャレンジして見たいと思っております。

    • ベストアンサー
    • CGI
  • CGIとPHPは違う!と言って聞かない人がいます

    現場でPHPやPerlを使っている方に質問です。 CGIとPHPはプログラム経験を積んだ人にしか分からないような違いがあるのでしょうか? 今の職場でPHPとCGI/Perlは違うものだと言っている人がいます。 CGIはウェブサーバ上でユーザプログラムを動作させるための仕組だと解釈していたため、その人と意見が対立しました。

    • ベストアンサー
    • CGI
  • php、cgi(perl)をlinuxに移行

    php、perl初心者です。 現在、windowsサーバーからlinuxサーバーに移行しようとしていますが、 widowsサーバーで動作していたphp、cgiが動作してくれません。 プログラムはDB接続情報以外は全く変更していないのですが、 http 500 内部サーバーエラーがでてしまいます。 ちなみにperl、php、MySQLのバージョンは以下となります。 perl : 5 php : 5.2.17 MySQL : 5.1.45 大変情報が少なく、申し訳ありませんが、 どのあたりに気をつけなければならないのかご教授していただけないでしょうか?

    • ベストアンサー
    • PHP
  • Apacheでphpとcgiを使いたいのですが

    phpは問題なく使えましたが、cgiで問題があります。 今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。 ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。 この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。 どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。 以上です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • phpとperlでメールフォーム+DB登録機能

    phpとperlでメールフォーム+DB登録機能を作っていますが、 だいぶ煮詰まってしまいました。 ●設計概要 https://dl.dropbox.com/u/85274673/form.jpg ●参考にしたが解決しなかったURLの一部掲載 http://okwave.jp/qa/q3086758.html http://ml.php.gr.jp/pipermail/php-users/2003-October/019138.html ●使用しているsend.cgi(配布フリー) http://www.synck.com/contents/download/cgi-perl/mailformpro.html ●状況 cgi(perl)もしくはphpだけでdb登録+メール送信両方行うプログラムが 必要となりました。 php単体でdb登録+mb_send_mailをスクラッチで書いてうまくいったと思ったのですが、 ユーザー側に送るメール内容(本文)と管理者側に送るメール内容(本文)を 分けることができず、現状使っているsend.cgiでメール送信し、phpでDBに登録 はできないかと思い、調べながらやってみました。 (cgi(perl)はphp以上に完全素人なので、dbへの登録を行うプログラムが書けませんでした。) form.html→db.php→thanks.html from.html→send.cgi→thanks.html は問題なく動作しました。 設計の通り 1. form.html→db.php→send.cgi→thanks.html もしくは 2. from.html→send.cgi→db.php→→thanks.html を実現したいと思っています。 $_POSTの値さえ渡せれば 1.は実現できそうなのですが、話はそう単純ではないのでしょうか。 ヒントでも貰えれば幸いです。宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • PerlかPHP

    データベースと連携してホームページで動作する cgiプログラムを開発したいと思っているのですが、 PerlとPHPだとどちらの方が適しているのでしょうか?

    • ベストアンサー
    • CGI
  • .htaccessの中身が php5 CGI版で動かない

    拡張子htmlファイルをphpファイルと認識させる為に、 .htaccessで AddType application/x-httpd-php .html AddHandler x-httpd-php .html と書いて対応していました。 今まではサーバーのphpのバージョンがPHP4(DSO版)だったのですが、昨日サーバーのバージョンがPHP5(CGI版)になってから、上記のような.htaccessが機能しなくなってしまいました。 order deny,allow deny from all ↑ これはちゃんと動くので、.htaccess自体が拒否されてるみたいなことはないと思います。 AddType application/x-httpd-php .html AddHandler x-httpd-php .html ↑ このプログラムがPHP5 CGI版にて意図した動作とならないのです。 何か分かる方いらっしゃいましたら、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • CGIを開けない。。。

    apacheとphpを設定して動作確認したあとに、cgiも操作したいので、Active Perlというものをインストールしてみました。 phpは、http://localhost/で「C:/Program Files/Apache Software Foundation/Apache2.2/htdocs」のフォルダーを参照できるのですが、cgiを開くときには、どこのフォルダーに格納し、URLをどうすれば宜しいのでしょうか?(因みにcgi-binとhtdocsに格納し、http://localhost/***.cgiで試したのですが駄目でした。) Active Perlインストール後に変更した場所 ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> AddHandler cgi-script .cgi .pl なお、perlの設定には、こちらhttp://www.jisaba.net/xp/actpeal/04.htmのサイトを参考にしました。 環境はWindowsVistaです。 どなたか宜しくお願い致します。

    • ベストアンサー
    • Perl
  • PHP利用可能なサーバ

    掲示板やカウンターをCGIで動作させているんですが PHPの方が軽いと聞き、PHPに移行しようと思うのですが 無料のレンタルサーバでPHPの利用が可能なサーバは無いでしょうか? PHPのバージョンは問いません。 またPHPのプログラムについて解説してあるページがあったら教えてください。 ソースサンプルなどがあると助かりますm(__)m