プロが教える店舗&オフィスのセキュリティ対策術

ハッスルサーバーで「Warning: include()」が出てしまって困っています。
「Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/ユーザーID/public/www/独自ドメイン/フォルダ/index.php on line 34」と
「Warning: include(http://独自ドメイン/フォルダ/system/adrota/koukoku/bana.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/ユーザーID/public/www/独自ドメイン/フォルダ/index.php on line 34」と
「Warning: include() [function.include]: Failed opening 'http://独自ドメイン/フォルダ/system/adrota/koukoku/bana.php' for inclusion (include_path='.:/usr/local/share/pear') in /home/ユーザーID/public/www/独自ドメイン/フォルダ/index.php on line 34」
と三列がならんで表示されます。

34行目に問題があるのは分かるのですが・・・

エックスサーバーでは、上手く出来るらしいのですが。

ハッスルサーバーでは「フルパス」の表記方法が間違っているのでしょうか?

「絶対パス」は必要ない事ぐらいしかよく分かりません。

「bana.php」のパーミッションは、「644」になっているのですがハッスルサーバーではこの数値が異なるのでしょうか?

A 回答 (2件)

URL file-access is disabled


URLをファイルとしてアクセスしようとしていますが、その機能は停止しています、というエラーですかね。
それで対象がincludeだとすると
include "http://~"のような書き方してますか?
仮にそれが、自分のサイト内だとしても、http://って書き方すると一旦外に出てApache経由で取得することになるので、同じエラーになりますね。
http://独自ドメイン/フォルダ/system/adrota/koukoku/bana.php

って『http://独自ドメイン/』が外部であれば、ハッスルサーバーでは打つ手なしです。
内部なら、ちゃんとフルパス(サーバー内部のフルパス)を書くか、ちゃんと相対パスで読み込めばOKです。
フルパスとURL/URIはまた別物です。

エックスサーバーで使えるというのであれば、(今のところ)外部PHPを読み込む事を許可しているのでしょう。
セキュリティ対策との理由で、いつなんどき、外部PHPを読み込めなくなるかは予測できませんが。
    • good
    • 0
この回答へのお礼

お礼が遅くなり済みませんでした。ずっとこれでパソコンに張り付いていたもので知らない間に寝てしまってました。・・・
「『http://独自ドメイン/』が外部であれば、ハッスルサーバーでは打つ手なしです。」は、初めて知りました。
私の場合は、ハッスルサーバー内部のファイルを読み込もうとしているので、やっぱり私のミスのようです。
ハッスルサーバーに聞いてみようと思う事がありまして、「PHP コード スニペットを使用していて、ウェブページに "URL file-access is
disabled in the server configuration" (URL ファイル アクセスはサーバーの設定で無効になっています) エラー メッセージが表示される場合は、ウェブマスターまたはホス
ティング プロバイダに連絡して、PHP サーバーの設定内の allow_url_fopen と
allow_url_include を有効にしてください。」との記述を見つけたのですが、この「allow_url_fopen と
allow_url_include 」とは何なのでしょうか?

お礼日時:2010/04/24 10:10

>「allow_url_fopen とallow_url_include 」とは何なのでしょうか?


『URL ファイル アクセスはサーバーの設定で無効になっています』を避けるために、PHP設定を書き換える際のキーワードのようなものです。
PHPの設定は、細かく言えば何百か所もあり(数えたことがないので適当ですが)、その中に
allow_url_fopen=0
allow_url_include=0
となっている個所があり、これを管理者に頼んで1にして貰えば、外部ファイルにアクセスできるようになるよって事ですね。
大概の共用レンタルサーバでは、PHP設定を変更してよと頼んでも共用サーバなのでダメですって言われますが。

『PHP コード スニペット』は知りませんが、外部ファイルにアクセスしなければならないなんて、ウィルスコードやサーバ破壊コード、プログラムやデータを盗むコードを埋め込むつもりではないか?と疑われても仕方ない仕様でしかないと、個人的には感じます。
※本人にその気が無いとしても、その接続サーバに悪意の人物に侵入された時点で、それを使っているすべてのユーザーに自動的にコードを仕込めるという仕組みとは、恐ろしすぎます。
    • good
    • 0
この回答へのお礼

貴重なアドバイスを有難う御座います。正直に言ってそこまで考えが回りませんでした。ほんとに、知らないとはいえ恐ろしい事です。サーバーさんの担当者の方に相談して、私の意図を正直にお話して対処法をお聞きする事にします。
わざわざ書き込んで頂き有難う御座いました。

お礼日時:2010/04/25 07:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!