2011-12-22 3 views

答えて

3

curlを使用してください。 HTTP経由でXMLを利用できる場合は、最初にcurlをXMLパーザに送ります。

+0

カールは常に利用可能ですか、それともインストールする必要があるコンポーネントですか? – Sonic42

+0

通常の環境では、コンパイルする必要があります。使用方法については、http://php.net/manual/en/book.curl.phpを参照してください。したがって、あなた自身でPHPをコンパイルしたり、非常に特有のOSを使用していない限り、それは利用可能でなければなりません。 – favoretti

+0

私は 'phpinfo();'を見て、 'disable functions'と書かれたセクションでは、' curl'関連のエントリを1トンリストしています。私のホストは顧客を失うだけでしたか? – Sonic42

0

Allow_url_fopenは危険でも危険でも危険でもないため、さまざまな理由で共有ホスティングでは無効になることがよくあります。

あなたが自分のホスティング環境を管理しているなら、私はそれについて話したいと思います。それ以外の場合は、カールを推奨どおりに使用してください。

+0

まだ知られていない人にとっては、fopen urlラッパーを無効にする最も一般的な理由の1つは、そのような攻撃に対して特別な防御コードを持たずに、比較的無防備なローカルファイル包含脆弱性を、実行脆弱性。 – Cheekysoft

+0

@Cheekysoft私は知っていますが、その唯一の賢明な解決策は、データを適切にチェックしたりエスケープしたりすることなく、ユーザが提供する変数を関数に渡さないことです。 '$ remoteXml = file_get_contents( 'http://www.example.com/feed.xml');を呼び出すだけで、CURLなどを使って行えなかった害はありません。 CURLは柔軟性があります(たとえば、ユーザーエージェントを設定する)が、絶対に必要なわけではありません。 – CodeCaster

+0

当然。また、直接HTTP機能は非常に便利ですhttp://php.net/manual/en/ref.http.php – Cheekysoft

関連する問題