• ベストアンサー

PHPの脆弱性ってどうなったんでしょうか?

PHPの脆弱性ってどうなったんでしょうか? 初心者でもとっつきやすいと聞いたのでPHPを勉強しようと思っています。 ところがウィキベディアを読んでみると、PHPには重大な脆弱性があるとのことでした。 でも、最近はPHPを使ってサイトを作ってるところが多いですよね(OKWaveもそうですよね)。 多くの企業のサイトなどが使用しているということは、この脆弱性は解決されていると見て良いのでしょうか? それとも脆弱性とは単なるプログラムの書き方の問題で、システムに問題があるというより自由度が高いので危ないものも作れるということでしょうか? 何に気をつけたら良いのでしょう? よろしくお願いします。

noname#250246
noname#250246
  • PHP
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

結論からいえばシステムの脆弱性は使用者のスキルと意識によって さほど問題ではないということです。 本質の話、システム的な脆弱性は発見されるたびに修正がかけられるので 情報管理担当が気をつけてアップデートすれば特に問題ありません。 それはどの言語をつかっていても大なり小なり発生することです。 どちらかというと、使用者の凡ミスが脆弱性につながる方が問題です。 register_globalesの使い方など、以前はセキュリティがあまい設定でした。 推奨環境はよりセキュアなデフォルトに変わってきています。 またextract()の使い方など意識の低いユーザーが致命的なミスを誘発する ケースもあります、こうなるともうプログラム提供側ではなんともしようがありません。

noname#250246
質問者

お礼

やはり使用者の使い方によるんですね。 いろいろなサイトで使われているところを見ると、システム的なところは改善されてるようです。 PHPが初心者でもとっつきやすいのは、乱暴なソースを書いてもとりあえず動くからで、それがセキュリティ上ではデメリットになると聞いたことがあります。 どこが危ないかと考えながら使う必要がありますね。 ありがとうございました。

その他の回答 (1)

回答No.2

脆弱性というものは人が何かを作る過程で生み出すものです。 言語自体にバグがあるということもありますが、言語も人が作っているものなのでその点は変わりません。 PHPは開発環境の敷居や言語自体の難易度が低いので、JavaScriptに並んで選ばれやすいのは確かです。 大抵の人は最初、入門サイトとか初心者向けのチュートリアルなどを見ると思いますが、 初心者向けに書かれているソースはそのまま使うと危険なものが多いです。 基本中の基本としてよく言われるのは「クライアントから送信されてきたデータを信用するな」ということです。 何かソースを書いたとき、それを自分以外の人間に使わせても問題はないだろうか?と一石投じてみることが大事だと思います。

noname#250246
質問者

お礼

初心者向けのソースは危険ですか・・・。 そう聞くとなんだか怖いですね。初心者なんだから、どうしても真似てしまう部分もあるでしょうし。 自分以外の人間に使わせて大丈夫か? 初心者なりにこれを常に考えながら勉強していきたいと思います。 ありがとうございました。

関連するQ&A

  • IEに脆弱性、他のブラウザにということ

    ヤフーニュースで、米MicrosoftのInternet Explorer(IE)に、また新たな未解決の脆弱性が報告された。IE 7と8を標的とした攻撃が既に発生しているもようだ。米SANS Internet Storm Centerやセキュリティ企業各社が9月17日に一斉に伝えた。  IEの脆弱性を悪用するコードは、先に発覚したJavaの脆弱性(Oracleが8月30日に対処済み)について調べていた研究者が14日に発見し、最新のパッチを当てたWindows XP SP3上で悪用できることを確認した。  この脆弱性はIE 7/8/9に存在し、細工を施したWebサイトをユーザーが見ただけで被害に遭う可能性があるという。Microsoftはまだ、この脆弱性を解決するための更新プログラムをリリースしていない。  脆弱性検証ツール「Metasploit」の開発チームは17日、この脆弱性を突くモジュールをMetasploitに追加したと発表した。同モジュールはIE 7/8/9とWindows XP/Vista/7の組み合わせに対して通用するという。  SANSやMetasploitチームではIEのユーザーに対し、Microsoftがこの問題に対処するまでの間、ChromeやFirefoxなど別のWebブラウザに切り替えることを勧めている。 . とありました。私はパソコン初心者でchromeやFirefoxへの切り替え方がわからないのですがみなさんはどうしていますか?

  • javaとjavaの脆弱性

    プログラミング初心者です。 現在JavaSEを使用してjavaでのプログラミングを学んでいます。 JavaSEやJavaEEというのはJavaを構成するソフトウェアだということまでは理解している程度の本当に初心者になります。 今回、わけあってflashblackのようなJavaの脆弱性を狙ったウイルスについて調べているのですが、Javaの脆弱性というものがいまいち理解できません。 一般ユーザーへの呼びかけで、 「普段Javaを使わないならアンインストールし、ネットで見られないページなどがあって不便なようなら最新版をインストールしたらいい」 という書き込みなどを見ました。 Javaとは、インターネットでサイトを閲覧するものでもあり、プログラミング言語でもあるのでしょうか。 私はJavaというプログラミング言語のセットの中にJavaSEやJavaEEが入っている、というイメージでした。 そうするとインターネットでサイトを見ている一般ユーザーが使っているJavaとプログラミングで使用するJavaは違うものなのでしょうか。 考え方が根本的に何かちがうのでしょうか。 またJavaの脆弱性とはなんでしょうか。 不正な処理を実行するプログラムを組み込まれてしまいやすいサイトを作る、プログラミングというような考え方でよろしいのでしょうか。

    • ベストアンサー
    • Java
  • PHPを覚えると何ができるのか??

    今度、PHPを学びたいと思っています。 しかし、HTMLやCSSはわかるんですがこういったプログラムを覚えるのは初めてです。 簡単で一週間ぐらいで覚えられると聞きました。 そこで、質問が2つあります。 基本的なことを聞いて申し訳ありませんが過去トピを見ても見つかりませんでしたので、質問させていただきます。 1.PHPを覚えると何ができるようになるんでしょう?? 2.PHPを初心者が勉強していくのに適した本、雑誌、サイトなどはありますでしょうか?? 以上、一つでもいいのでわかる方いらっしゃいましたらよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ぜい弱性を持つアプリケーションについて

    最近パソコンの調子が悪いので、カスペルスキーでぜい弱性スキャンをした所、ぜい弱性:3と検出されました。 検知されたぜい弱性は以下の通りです。 Adobe Flash Player 10.1 r52 ファイル C:\ Program Files (x86)\JustSystems_Setup\ATOK2012\GUIDE\g_atok.exe 修正をお勧めします Java(TM) PlatformSE binary ファイル C:\ Program Files (x86)\Java\jre7\bin\java.exe ぜい弱性:3と検知されたのですが、上記二点しか詳細が出てきませんでした。 また、ここ最近インターネットなどをしていると 「Catalyst Control Center: Host applicationは動作を停止しました 問題が発生したため、プログラムが正しく動作しなくなりました。 プログラムは閉じられ、解決策がある場合はWindowsから通知されます。」 という通知が来ます。これも何か関係があるのでしょうか? すみませんがインターネットに大変疎い為、以前質問された同じような内容を見てもよくわかりませんでした。 上記二点の修正方法について、またCatalyst~がどういうものなのかについて判りやすく教えてくださると大変助かります。とても困っているので、どうかよろしくおねがいします。

  • VistaでPHPプログラミング

    これからPHPを勉強しようと思っているものです。 初心者用のサイトを見るとPHPの環境を無料でダウンロードできると書いてるのですがOSがVistaでもちゃんとダウンロードできてプログラム書けますでしょうか??

    • 締切済み
    • PHP
  • IEの脆弱性対策プログラムについて

    Win7, IE10を使っています。 今問題になっているIEの脆弱性対策をしようと思ってWindows Updateを開くと重要な更新プログラム1個とオプションの更新プログラム2個が表示されます。重要な更新プログラムはIE11をインストールするプログラムで何度実行しても失敗します。オプションの一つはなぜかIE10をインストールするプログラム、もう一つはBingに関するものです。 脆弱性対策プログラムはどうやったら入手できるでしょうか?入手出来ないのはIE11がインストール出来ないのと関係があるのでしょうか? 詳しい方、よろしくお願いします。

  • ローカルでPHPプログラムが動きません。

    ローカルでPHPプログラムが動きません。 はじめまして、初心者のものです。 よろしくお願いいたします。 現在、VertrigoServをWindowsXPの環境でPHPの勉強をしております。 インストールも無事終わり、簡単はサンプルプログラム程度なら問題なく動作確認しました。 問題なのが、ローカルサーバーからほかのサーバーなどにリクエスト(アクセス)してもデータが取得できないのです。 例えば http://www.nob13.com/docs/php/web こちらにある、ただWebページをゲットして表示するだけのプログラムも動作しません。 (サイトはyahooにて実行しました) しかし、こちらのプログラムの無料のレンタルサーバーなどにアップしたところ、問題なく動作確認することができ、ローカルでのみ動かない状態です。 そこでコマンドでYahooにPINGを飛ばしたところ無事飛ぶことは確認しました。 ネットでいろいろ調べたところ、「TCP接続が許可されてないのでは?」というようなものを見つけました。 そこでTCP接続というのはどうすればよいのでしょうか? またほかに問題点が考えられるようでしたらそちらの問題点と、解決策のご教授をお願いいたします。

    • 締切済み
    • PHP
  • PHP4とPHP5思ったようになりません

    ソフト名 ファイル名 バージョン Apache apache_2.0.45-win32-x86-no_ssl.msi 2.0.45 PHP php-4.3.1-installer.exe 4.3.1 MySQL mysql-4.0.12-win.zip 4.0.12 これらをWin98SEに組込、掲示板システムを作成、 自分なりの目的通り完璧に動作しています。イントラネットないで半年以上。 外に持ち出そうとして、 ノートパソコンWinXPHmに同一バージョン、 同一プログラムを移植しました。 表面上は動作しました。 しかしここのサイトで言う「名前」を掴んで「回答履歴」を見るという操作でサーバーエラーが表示されました。 「半角英数字文字列」では問題ありませんが、「漢字文字列」部分を掴むとエラーです。 エラー情報はsjis.confが無いいうエラーのようです。 sjis.confをインターネットサイトで探すと、同等のエラー情報はありましたが、解決策は見いだせませんでした。 この問題点解決策をご存じに方教えてください。 PHP4.4.2に切り替えましたが解決できません。 次に、PHP5をインストールすると問題は回避できるようなことが記述されて居ましたので、 PHP5.1.2-installer.exeからインストールを試しました。 ても、今度は動作してくれません。 PHP-info()が表示されないのです。 apacheの***.confのどこかを修正する必要があるのでしょうか、 php.iniのどこかでしょうか WinXPHm上で上記データベース組合せで、特に漢字コントロールを使われている方の「出来ている」よと言う情報でも結構です。 sjis、ujisがどうのこうのと言うことに関しては理解できていません。 多分自分のシステムはs-jisであると言うことぐらいです。

    • 締切済み
    • PHP
  • phpなどでプログラムする

    phpなどでプログラムする (1)Webサイトのコンテンツ自動生成ソフトウェア (2)ブログへの自動投稿システム とはどういうシステム・ソフトなのでしょうか?なんとなくは分かるのですが・・また作る際の難易度なども教えていただけるとありがたいです。

  • phpとhtmlについて分からない部分があります

    すいません、初めてphpを勉強していまして、 簡単な動作をするphpを試したりしているのですが、実際のhtmlと合わせて使う上で 根本的に分からない事があります。 現在xamppを使ってローカルでphpを作動させています。(全て初心者サイトに書いてある通りに しました) そこに test.phpと test2.phpを2つ用意し、test.phpにラジオボタンなどを作って、formから値を飛ばして test2.phpに処理(選択したラジオボタンによって写真などを並び替えて表示するプログラム)するようにしました。 とりあえず動作自体は問題なく終わり、任意の順番どおり写真が並び替えられました。 ここで質問なのですが私はhtmlの中にラジオボタンを作り、値をphpに送って、結果を再度 htmlに表示させたいのですが、どうしたら良いのでしょうか。 現在ですとボタンを押すとブラウザのアドレスバーが以下のよう変わるので、ページが飛ばされているように思います。 http://localhost/test.php ↓ http://localhost/test2.php 私が行いたいのは (1)htmlのサイトにラジオボタンを置く ↓ (2)別のphpファイルへ値を飛ばして任意の処理 ↓ (3)処理結果を再度htmlに表示する 私はhtmlにphpを埋め込む形ではなく、あくまで別ファイルで処理をして結果を戻したいのですが (3)を行う場合htmlに「処理の結果をココに表示する」というプログラムが 必要ですよね? このあたりのプログラムの流れが分かりません。初心者サイトを見ても具体的な部分が見つかりません。(プログラム自体初心者で、またローカル環境しかないため、このやり方であっているのか どうかさえも分かりません) どなたか詳しいかたいましたら教えてもらえませんか?

    • ベストアンサー
    • PHP

専門家に質問してみよう