2012-04-29 7 views
0

私は別のサーバーでホストされているphp関数を実行しようとしています。php別のサーバーからのファイルを含む

firstdomain.com/handler.phpで:ここでは、関連するコードです

include 'http://www.seconddomain.com/functions.php'; 
$disp_keyword = doQuery(0, $keyword, null); 

そしてseconddomain.com/functions.php中:

function doQuery($code, $arg1, $arg2) { 
    mail('[email protected]', 'doquery entered', 'test'); 
} 

私はこれが動作するように取得できますか?

+3

'allow_url_fopen'が有効で、' allow_url_include'が有効であることを確認する必要があります。また、あなたがリモートに含むファイルの内容を知っていることを_確かに確かめてください。それは100%信頼されています。 –

+1

http://www.php.net/manual/en/features.remote-files.phpとhttp://www.php.net/manual/en/function.include.php –

答えて

1

2番目のサーバーのファイルは、実行するだけでなく、PHPソースを出力する必要があります。リモートファイルをインクルードすると、それはブラウザにあるようなものですが、表示されているコードが実行されます。

これを行う最も簡単な方法は、<?phpタグと?>タグを除外することです。しかし、これにより、ソースコードが外部に見えるようになります。特にセキュリティは失われます。

2

サーバのデフォルト設定を割り当てておくと、非常に安全ではありませんが、ソースを100%信用しないとeval thoを使用するのは簡単です。代わりに使用したの

include 'http://www.seconddomain.com/functions.php'; 

使用:あなたは、FGCでファイルをつかむそれを保存して、普通に使用することができ

<?php 
//get file content, save it .txt on the serving server so its not interpreted, 
// you could even encrypt it then base 64 it to keep it safe, then reverse the process 
$content = file_get_contents('http://www.seconddomain.com/file.txt'); 
eval ("?>$content"); 
?> 

またはとしては、あなた、あなたがする必要があります選択した任意の方法ファイルのソースに非常に注意してください。

+0

を参照してください。 –

関連する問題