2015-10-11 5 views
0

Моя ситуация проиллюстрирована на рисунке ниже:Обводной сервер PHP код для загрузки файла с другого сервера

У меня есть файл X на главном сервере , который я хочу загрузить с моего локальный компьютер B, а файл X можно загрузить через HTTP. Но по какой-то причине мне не разрешено загружать файл с главного сервера A. Однако у меня есть доступ к другому серверу C, в котором установлен PHP. Теперь я хочу, чтобы загрузить файл X через сервер C, вызвав некоторый PHP скрипт на сервере C из моего локального компьютера B.

Возможно ли написать один PHP-скрипт, чтобы сделать это?

Любая помощь в письменной форме будет высоко оценена.

+0

Имеет ли сервер C доступ к файлу X на сервере A? – JimL

+0

@ JimL Да, он имеет и файл X загружается через HTTP с любого компьютера, кроме B. –

+0

Проверьте обновленный скрипт с паролем, иначе он будет небезопасным. –

ответ

0

Я не совсем уверен в том, что вам нужно, но вы можете использовать следующий скрипт для работы в качестве прокси между двумя серверами.

Поместите этот файл на сервере C

phpProxy.php

<?php 
$myPass = "Secr3t"; 
if($myPass == $_GET['pass']){ 
    $remoteFile = $_GET['rf']; 
    $filename = basename($remoteFile); 
    header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"$filename\""); 
    echo file_get_contents($remoteFile); 
} 

ИСПОЛЬЗОВАНИЯ КАК:

phpProxy.php?rf=http://phs.googlecode.com/files/Download%20File%20Test.zip&pass=Secr3t 

ПРИМЕЧАНИЕ:
1 - Я добавил password иначе сценарий очень небезопасный!
2 - Если возможно, используйте https, чтобы избежать MITM

+0

Вот и все! Большое спасибо. –

+0

Добро пожаловать, рад, что это сработало. –