PHPで現在のドメイン名を見つける方法はすでに知っていますが、問題は、このコードをファイルに入れて別のサーバーから含めると、ファイルがある場所のドメイン名が表示されることです。include() コードを含むドメインまたはサイトを見つける方法はありますか?
4 に答える
1
次のようなことをしていますか?
include 'http://example.com/script.php';
?
注意: このアプローチは、一般に、セキュリティの観点からは、少しもったいないと考えられています。
とにかく、含まれているスクリプトは実際には他のサーバーで実行されており、スクリプトの出力は現在のサーバーで実行されています。次のような実際のコードをエコーすることで、これを回避できます。
現在:
<?
//do something
echo '$v = '.$_SERVER['HTTP_HOST'].';'
?>
他の方法:
<?
//do something
?>
$v = $_SERVER['HTTP_HOST'];
しかし、おそらく私はあなたの質問を誤解しています。
于 2008-10-22T15:36:29.243 に答える
0
「eval」を使用してローカルで実行できます。次に、適切なドメインを使用してスクリプトをテキスト ファイルとして保存し、ダウンロードして実行する必要があります。
eval(file_get_contents("http://someDomain.com/somePhpscript.txt"));
于 2008-10-23T00:23:23.220 に答える
0
これは大まかなハックですが、リモート サーバーでは、$_ENV['REMOTE_HOST'] のドメイン名を調べることができます。
これは、リモート サーバーの観点から「インクルード」を行っている人のドメイン名になります。
仮想ホスト環境での制限など、この奇妙なトポロジを実装したい理由があると思います。可能であれば、代替インフラストラクチャを検討することをお勧めします。
于 2008-10-22T15:34:26.703 に答える
0
別のサーバーから PHP ページを含める場合、ページは元のサーバーによって解析され、結果が送信されます。受信するページはテキストのみで、PHP コードは含まれていません。
于 2008-10-22T15:25:57.080 に答える