サーバーBで、.htaccess
ファイルに次の行を配置します。
AddType text/plain .php
サーバーBが出力するコードをサーバーAが読み取る必要があります。現在、サーバーAでコードが処理されています。
これにより、コードが一般に公開されます。また、そのディレクトリで他のPHPが実行されるのを防ぎます。ディレクティブを使用して、<Files>
特定のファイルにのみ適用することができますが、常に一般に公開されます。PHPとの両方で、そこへのアクセスを制限する方法があります.htaccess
。
それを望まない場合は、それを行う方法もありますが、もう少し複雑です。
リクエストに応答するように編集サーバーBでPHPを実行し、ファイルを選択的に含める場合は、次のようなコンテンツを含む
新しいファイルを作成することをお勧めします。includer.php
<?php
if ('my-secret-key' == $_GET['auth']) {
if (is_readable($_GET['file'])) {
header('Content-type: text/plain');
echo file_get_contents($_GET['file']);
} else {
header('Status: 404 Not found');
header('Content-type: text/plain');
die('<?php /* File not found */ ?>');
}
} else {
header('Status: 403 Forbidden');
header('Content-type: text/plain');
die('You do not have permission to access this page.');
}
そして、サーバーAで:
include ('http://example.com/includer.php?auth=my-secret-key&file=Test.php');
可能であれば、サーバーBでの使用も検討して、セキュリティを向上させbasename()
、パラメーターを設定する必要があります。$_GET['file']
hash()
auth