PDA

Volledige versie bekijken : bestanden in een beveiligde map benaderen


wammes
%Europe/Berlin %451 %2006, 11:49
Hallo,

Is het mogelijk om met flash (en dan eigenlijk ook nog met flvPlayback of mediaPlayback)
bestanden te benaderen die een beveiligde map staan?
De map in kwestie staat op een linux met apache server en is beveiligd dmv een .htaccess
bestand en een .htpasswd bestand.

Dus als voorbeeld:

"http://mijndomein.nl/files/protected/" is zo'n map.
Daarin staan dus een .htaccess, een .htpasswd en daarnaast bijv. .flv-bestanden.
Nu wil ik dus in een php bestand, met een flash object erin, op een andere server die
flv-bestanden gebruiken.

eagle
%Europe/Berlin %471 %2006, 12:18
Nee, je zult serverside moeten werken.

wammes
%Europe/Berlin %478 %2006, 12:28
Ok, maar hoe kan ik dat het beste aanpakken?

Nu heb ik het zo:
Die beveiliging tijdelijk maar even uitgezet.
In de php pagina wordt dynamisch een variabele aan de swf-url geplakt (...swf?id=.......)
In de swf vul ik dan dmv actionscript het contentPath aan met die variabele.

BernardV
%Europe/Berlin %519 %2006, 13:28
Je kunt het wel met php doen, bijvoorbeeld zoiets:


<?php

function getFile($server, $port, $url, $user, $pass)
{
$server_con = fsockopen($server, $port);
$contents = "";
if(!$server_con) return false;

fputs($server_con, "GET $url HTTP/1.0\r\nHost: $server\r\n");
fputs($server_con, "Authorization: Basic " . base64_encode("$user:$pass") . "\r\nCredentials:$user:$pass\r\n\r\n");
while(!feof($server_con))
{
$contents .= fread($server_con,4096);

}
fclose($server_con);
$contents = substr($contents, strpos($contents,"\r\n\r\n")+4);
return $contents;
}


header("Content-Disposition: attachment; filename=\"test.swf\";" );
header("Content-Transfer-Encoding: binary");

echo getFile("www.mijndomein.nl",80,"/url/naar/bestand.swf","username","password");
?>

Gewoon de header met gebruikersnaam en wachtwoord aanmaken die de browser ook zou sturen.

wammes
%Europe/Berlin %537 %2006, 13:54
Dat zou een oplossing kunnen zijn, maar......

De flv's kunnen nogal groot zijn en staan op een server met een hoge download-rate.
De swf die ze inlaad staat op mijn eigen servertje thuis, waar dus een heel wat mindere
download gehaald kan worden en waar een fair-use policy op rust :-(

Dus ik zou graag die flv's op die andere server houden.

BernardV
%Europe/Berlin %581 %2006, 14:57
Je zou ook je .htaccess zo kunnen aanpassen dat flv's alleen geladen kunnen worden vanaf een bepaalde referer.

Iets als:

SetEnvIfNoCase Referer "^http://www.mijndomein.nl/" flv_ok=1
SetEnvIfNoCase Referer "^http://www.mijndomein.nl$" flv_ok=1
SetEnvIfNoCase Referer "^http://mijndomein.nl/" flv_ok=1
SetEnvIfNoCase Referer "^http://mijndomein.nl$" flv_ok=1
SetEnvIfNoCase Referer "^$" flv_ok=1
<FilesMatch "\.(flv)$">
Order Allow,Deny
Allow from env=flv_ok
</FilesMatch>