PHPについて質問です。


サイトを複数運営しています。
自作関数や変数を設定したPHPのファイルを全てのサイトで共有して使いたいのですが、どのように読み込んだらよいのでしょうか?
各サイトは、ドメインもサーバーも違います。

回答の条件
  • 1人10回まで
  • 登録:2008/12/18 23:36:16
  • 終了:2008/12/25 23:40:03

回答(3件)

id:sphire No.1

sphire回答回数115ベストアンサー獲得回数122008/12/19 00:11:26

全てのサイトに同一のファイルをアップしてrequireするのが常道ですが

そうしたくない、というお話ですよね。

その場合、リモートファイルインクルードという手が有ります。

(レンタルサーバーで有れば無効になっている可能性が高いです)

自身管理のサーバーであれば、php.iniにて allow_url_include=on としてください。

拡張子.phpだと、プログラムが解釈された結果を読み込んでしまうので

拡張子を変えておきます。 仮に myfunc.inc とします。

myfunc.inc をメインのサーバーにアップロードします。

http://main.example.com/myfunc.inc でアクセスできるものとして

他のサーバーで以下の様にrequireしてあげればOKです。

require('http://main.example.com/myfunc.inc');

ただし、他のサーバーから読み込まれない様に何らかガードしてください。

id:black_kenchan

出来ました。

有難う御座います。

>他のサーバーから読み込まれない様に何らかガードしてください。

と、ありますが具体的にどのような方法があるのですか?

2008/12/19 00:24:11
id:sphire No.2

sphire回答回数115ベストアンサー獲得回数122008/12/19 00:32:32

ポイント40pt

>>他のサーバーから読み込まれない様に何らかガードしてください。

>と、ありますが具体的にどのような方法があるのですか?

.htaccess(httpd.confでもいいです)でリモートアドレスを制限するとか。

<Files myfunc.inc>
Order allow,deny
Allow from (読み込まれてもいいサーバーのIPアドレス)
</Files>

読み込ませたいサーバーが共用サーバーだと微妙ですけど。

ちなみに、他のサーバーから読み込まれると困るかもしれない、のは理解いただけますか?

別に読まれても困らない、ならそもそもガードする必要ないです。

id:black_kenchan

>ちなみに、他のサーバーから読み込まれると困るかもしれない、のは理解いただけますか?

理解しているようで、理解していないのかもしれません。

ファイルが他の人に漏れる可能性がどのような場合にあるのか分かりません。

2008/12/19 00:47:51
id:kou32rr No.3

kou32rr回答回数197ベストアンサー獲得回数82008/12/19 21:12:22

ポイント40pt

横からすみません。

>ファイルが他の人に漏れる可能性がどのような場合にあるのか分かりません。

例えば、

require('http://main.example.com/myfunc.inc');

は、同じ外部ということでは、

あなた以外の人もインクルードできるということです。

IP制限等掛けておかないと世界中からインクルードされ、

利用されることになります。

もしそこにパスワードやらが入っていれば管理者権限も危うくなります。

曖昧な場合は危険ですので、サーバー毎にファイル用意した方が無難です。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません