人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPについて質問です。

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

●質問者: black_kenchan
●カテゴリ:ウェブ制作
✍キーワード:PHP サイト サーバー ドメイン ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sphire
●0ポイント

全てのサイトに同一のファイルをアップして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');

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

◎質問者からの返答

出来ました。

有難う御座います。

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

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


2 ● sphire
●40ポイント

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

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

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

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

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

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

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

◎質問者からの返答

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

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

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


3 ● kou32rr
●40ポイント

横からすみません。

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

例えば、

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

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ