Люди! Помогите!
Проблема:
Есть зарытая папка содержащие файлы. Доступ ограничен через .htaccess
Человек может получить доступ только в определнном случае, и только к определенному файлу.
Прямой линк работать не должен (в связи с этим файлы закрыты для всех .htaccess - ом)
Как мне дать нужный файл пользователю, логин и пароль указанный в .htaccess будет один для всех - он все равно явно не светится, а если кому-то надо будет непременно ломануть и так ломанут.
Вот надыбал такой код, к сожалению пишет - "I can\'t connect!"
define (\'x401_host\', \'http://site.com\');
define (\'x401_port\', 80);
define (\'x401_user\', \'user_login\');
define (\'x401_pass\', \'user_pass\');
/* Function */
function get401Page($file) {
$out = "GET $file HTTP/1.1\\r\\n";
$out .= "Host: ".x401_host."t\\r\\n";
$out .= "Connection: Close\\r\\n";
$out .= "Authorization: Basic ".base64_encode(x401_user.":".x401_pass)."\\r\\n";
$out .= "\\r\\n";
if (!$conex = @fsockopen(x401_host, x401_port, $errno, $errstr, 10))
return 0;
fwrite($conex, $out);
$data = \'\';
while (!feof($conex)) {
$data .= fgets($conex, 512);
}
fclose($conex);
return $data;
}
header(\'Content-type: audio/mpeg\');
$localfilename = "http://site.com/path/full/".$file_name.".mp3";
header(\'Content-Disposition: attachment; filename="\'.$file_name.\'.mp3"\');
/* Code */
if ($source = get401Page($localfilename)) {
echo $source;
} else {
echo "I can\'t connect!";
}
Логин и пароль 100% указаны правильно - через прямую ссылку с вводом в окне авторизации файл получаю.
С путями тоже игрался, возможно и в них проблема, тогда подскажите как правильно путь указать
"http://site.com/path/full/".$file_name.".mp3";
"/path/full/".$file_name.".mp3";
и даже так:
"http://user_login:user_pass@site.com/sound/full/".$file_name.".mp3";