• ベストアンサー

他人にphpファイルをダウンロードされない方法

phpソースを第三者に見られたくない場合は、ドキュメントルート以外に設置したほうが良いと本に書いてあったのですが、どのような方法で他人からphpソースを見られてしまうのでしょうか? ドキュメントルートに設置したphpファイルは、FTPやシステム内に不正アクセスされない限りダウンロードされることはないのでしょうか? 手法や防御策等をご教示頂けると幸いです。 宜しくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

PHP のソースファイルを FTP や 不正アクセス以外で入手する事は困難です。 まず、PHP の動作原理を理解されてみてはどうでしょか? 少しは安心でいると思います。 次に防衛方法なのですが、http サーバの公開ディレクトリ以外の場所において動作させる方が安全である事は間違いありません。 後は、php を実際に動作させて、システム障害になる様なプログラムを組んでいない事や、php 周りの設定で問題が無いかを確認していけば、まぁ大丈夫だと思います。 一番は、php の動作が止まってしまって、サーバ側でPHP の解釈ができないままソースが表示されてしまう事なので、そんな事にならないように、プログラムを作っていけばいいのだと思います。

people900
質問者

お礼

回答ありがとうございます! とても参考になりました。

関連するQ&A

  • Cソースを他人に委ねる方法

    汚いCソースを他人にどう委ねようか悩んでます。 仕事でCソースを書いていますが、かなりサイズが大きく、古い人たちの書いたものをもとに継ぎ接ぎしたというかなり汚いソースとなっています。構造設計もなってません。挙句にドキュメントが未整理です。 これを他人に委ねるために、どのような手法が効率的でしょうか。 自分としては最低限のドキュメント(ソース解説、構造解説レベル?)を書こうかと考えているのですが、概要だけではソースを理解してもらえないし、一つ一つ解説するのも量が多いです。ソース→ドキュメントを効率的に行うツールや手法などもありませんでしょうか。

  • PHPでFTP関数を使いたいと考えていますが、

    PHPでFTP関数を使いたいと考えていますが、 いろいろ回ってみても中々使えるサーバに出会えません。 ロリポップでは設定はされているとの記事を見かけたのですが、 ドキュメントルート以下しか使えないなど不便な面が多く使うのは控えようかと考えています。 私の探し方も上手くないのでしょうか・・・。 ある程度金額は高くても良いので(~10000円) ドキュメントルートより上も操作可能で、なおかつPHPとmysqlが使え、 PHPのftp関数がデフォルトもしくは設定にて使用可能なレンタルサーバをご存知の方は お教えいただけないでしょうか? お手数ですがよろしくお願いいたします。

  • 公開ディレクトリに置いたphpファイルについて

    こんにちは。 ふと気になったので質問させてください。 ドキュメントルート以下に置いて公開したphpファイルというのは、通常の方法によってブラウザからアクセスするとphpスクリプトの実行結果がクライアント側へダウンロードされますが、 実行前のスクリプトそのものがダウンロードされる事態というのは、どの程度想定してコーディングするべきことなのでしょうか。 例えば、データベースの操作が伴ったりする場合、 もちろんDBのアカウント名等は別のファイルに記述してドキュメントルートより上のディレクトリにおいておくとしても、テーブル名などが容易に見えてしまうとするならばなら、処理部分そのものを別ファイルに記述してドキュメントルートより上のディレクトリに置いた方が良いのか・・・と思ったのですが。 実際のところ、皆様はどの程度の想定で設計していらっしゃるのか、ご教授頂けますと幸いです。 宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • phpからflashplayerにflvファイルを配信する方法について

    お世話になります。 標記の方法についてお尋ねいたします。 flvファイルをURL直叩きで見られなくするために、 一旦PHPでセッションを確認してから ドキュメントルートの外に隠してあるflvファイルを 読みだしています。 PHPのURLにセッションID付きでアクセスすると、 ファイルが読みだされて、 それを保存したものと、サーバ上にあるファイルは 同一であることが確認されています。 しかし、flashplayerからは、再生できず、 進捗バーがダウンロード中のままです。 (FireBugから見ると、ダウンロード自体は正常に終わっています。) この現象について、 何かわかることがあればご教授いただきたく思います。

    • ベストアンサー
    • PHP
  • サイトのphpソースコードを表示する方法

    参考のためにサイトのphpソースコードを表示する方法を知りたいです。 ある参考書にこのような解説がありました。 『$con = mysql_connect("localhost","sampleID","samplepass"); のようにphp内に直接ユーザ名とパスワードを記載することはいけません。 なぜなら、phpファイルはブラウザからアクセスして見ることができるからです。 対策として、ユーザ名とパスワードを記載したiniファイルを作り、 それをドキュメントルートよりも上位の場所に置くと良いでしょう。』 ブラウザからアクセスして見ることができる、とありますが、 見ることが出来るのは開発担当者達ということでしょうか。 SQLiteのデータベースも同様にドキュメントルートよりも上位の場所に保存 とあるサイトで解説していましたが、専用のソフトとかありますか?

    • ベストアンサー
    • PHP
  • htmlからPHPを呼び出す方法について教えてください

    <script type="text/javascript" src="/init.php"></script> 楽天商品検索APIを利用したブログパーツの作成をPHPにて行っております。 公開されているサンプルソースを元にブログ上に指定したキーワードの 検索結果を表示させるPHPを作成しております。 HTML側にてPHPを呼び出す際に、PHPに記述したHTMLのソースを document.writeで囲って出力しようとしておりますが上手くいきません。 呼び出し側 <script type="text/javascript" src="/test.php"></script> ■test.php <?php //PHPソース(省略) $str_test = 'zzzzz'; header("Content-Type: application/x-javascript; charset=UTF-8"); echo " document.write(\"<table width=\"100%\" border=0 cellspacing=1 cellpadding=5 style=\"font-size:12px;\">\") document.write(\" <tr style=\"background-color: #ffffff;\">\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" abcde\") document.write(\" </td>\") document.write(\" <td width=\"8%\" align=\"center\" rowspan=\"4\">\") document.write(\" $str_test\") document.write(\" </td>\") document.write(\" </tr>\") document.write(\"</table>\") "; ?> 上記の様にダブルクォートをエスケープしたのですが 呼び出し側には何も表示されませんでした。 document.writeにて下記の様に記述した場合は表示されましたので 上記ソースの何処かが間違っているのは分かったのですが そこから先に進めず困っております。 ■表示された例 echo " document.write(\"$str_test\") "; 解決策、別案などありましたらご教授いただけたら幸いです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • apache2とPHP5について

    環境はDebian etchで、これにapache2とPHP5をインストールしてみました。libapache2-mod-php5とphp-pear php5-cgi php5 php5-gdなどをインストールして、さあ、PHPのCGIを動かそうというところでつまずきました。 ユーザディレクトリのモジュールを導入してUserdir.confでOptions ExecCGI(+なし)を指定してやりましたがこのCGIを起動しようとするとダウンロード画面になって、ダウンロードができませんと表示されます。ちなみにperlはちゃんと動きます。そして、ドキュメントルートである、/var/wwwのほうにもCGIを設置して起動してみましたが、同じ症状に見舞われます。 エラーログを見てみるとユーザディレクトリのほうに設置しているCGIはPermission deniedになっていました。権限はちゃんと設定してあるのにです。 /var/wwwのほうに設置したCGIはExecCGIが指定されていないと書いてありました。設置方法はよくわからないのですが。 このような場合、どうすれば解決できますでしょうか?

  • http://で直接アクセスできないファイルをphp経由でダウンロードさせたい

    http://で直接ファイル名を指定してアクセスできないファイルをphpを経由してダウンロードさせたいのですが、何か良い方法はないでしょうか? Yahooメールのように各会員毎がファイルをアップロードし、 他人には見られないようにダウンロードしたいのですが、 どのようにすれば安全にできるのかが思いつきません・・ データベースにファイルを格納する方法はできれば避けたいと思いますが、そんな方法はあるのでしょうか? ファイルの拡張子も様々です(汗)よろしくお願いします。

    • ベストアンサー
    • PHP
  • ドキュメントルート外のファイルにアクセスしたい

    Apache初心者なので、間違えていたらすみません。 WEBサイトに使う画像やPHPファイル(sqlのpasswordなど記述したデータ)を隠蔽するため、 ドキュメントルート外に、これらのデータを設置しようと考えております。 色々しらべたところ、Apacheのhttpd.confへAlias設定をすることで、 画像やPHPファイルを取得できそうであることが分かりました。 そこで1つ疑問があります。Alias設定は、 ファイルをドキュメントルートの配下に配置されているように、見せかけることが出来るだけで 隠蔽していないような気がするのです。 (私のイメージとしては、リンクやショートカットのイメージしかわかず、 sqlのpasswordを見れてしまう気がするのです。) 参考URL: http://www.adminweb.jp/apache/docroot/index3.html この解釈は間違っていますでしょうか? またそもそも隠蔽の手法に、Alias設定は不適合なのでしょうか? その場合、正しい隠蔽の手法をご教授いただきたく。

  • iniファイルをウェブ経由でアクセス不可にする方法

    .iniファイルをウェブ経由でアクセス不可にするには、どうすればよろしいのでしょうか? ホームページ閲覧者が.iniファイルにアクセスしたり、ダウンロードすることを出来ないようにするのが目的です。 ドキュメントルートディレクトリには.iniを置けないので、.htaccessを使った方法、もしくは他の方法をご存知でしたら、是非ご教示ください。 よろしくお願いします。

専門家に質問してみよう