# Zugriff auf lokale festplatte



## spirit (19. März 2012)

Hallo zusammen

Ich bin nun schon eine Weile am suchen. Find aber nicht wirklich einen Lösungsansatz, obwohl ich davon überzeugt bin das mein Problem nur ein kleines ist... Es mag auch sein das ich hier ggf. im falschen Thema bin bzw. sich überschneiden...

Folgende Situation:

Ich habe eine xampp Umgebung auf einen Windows 7 Rechner. Als Browser verwende ich den FireFox 11.0. Ich habe eine kleine MP3 mySQL-Datenbank. Zum anzeigen der Titel habe ich eine Seite gemacht, die neben dem Namen der Platte auch einen absoluten Pfad zur Dateiablage angibt. Der Pfad befindet sich ausserhalb des DocumentRoot auf einer externen Festplatte. 

In meine Seite habe ich einen Flash Player (emff) eingebaut, der auch soweit mit einer MP3 Datei aus dem DocumentRoot einwandfrei funktioniert. Ich habe versucht, in den DocumentRoot eine Verknüpfung zu einem Zielordner ausserhalb des DocumentRoot anzulegen. Bei Linux funktioniert soetwas in Kombination mit der followSymLink / allowOverride Option  auch. Dieser Link funktioniert aber nicht...

Ich habe nun versucht, den Player mit verschiedenen Methoden einen neuen Song aus dem Temp Ordner zuzuweisen. Hierfür habe ich ein JavaScript, ein PHP Script und eine HTML URL verwendet. In den Objekteigenschaften des Players wird auch der richtige Pfad angezeigt, so das ich ich erstmal grundsätzlich davon ausgehen kann, das meine Scripte richtig sind. 

Nun, das Ergebnis war folgendes:

Per HTML URL bekomme ich, bei dem Versuch eine vorhandene Datei aus dem Temp-Verzeichnis zu laden, die Fehlermeldung:


```
Sicherheitsfehler: Inhalt auf http://localhost/mp3archiv/public/ darf file:///C:\temp\test.mp3 nicht laden oder verlinken.
```

Bei dem Flash Player bzw. den Scripten war folgende Erkennnis:
Die Sicherheitseinstellungen erlauben nicht, auf das lokale Dateisystem ausserhalb des DocumentRoor zuzugreifen. Mir ist bestens bekannt welche Auswirkungen das auch hätte, wenn man per Webseite mal eben auf eine komplett Festplatte zugreifen könnte. Ich sehe die Einschränkung auch als absolut sinnvoll an!! Jedoch würde ich sie für mein Vorhaben gerne deaktivieren bzw. umgehen. Ich vermute mal, es handelt sich um eine Konfigurationseinstellung am apache Webserver...

Meine Fragen nun:

1. Wie bzw wo muss ich Einstellungen vornehmen, damit bei xampp links erkannt und "verfolgt" werden?

2. Wie bzw wo müssen Einstellungen vorgenommen werden, um den Server mitzuteilen das auf die Festplatte/Laufwerke zugegriffen werden darf?

3. Es gibt offensichtlich eine Möglichkeit, dem Flash player einen "vertrauenswürdigen" Pfad anzugeben, der auch ausserhalb des FlashObjekt liegen darf.....aber wo?

4. Wo kann ich dem Firefox mitteilen, das auch lokale DAteien per URL aufgerufen werden dürfen?

Ich hoffe ich habe mich verständlich genug ausgedrückt.

Für eure Hilfe bedanke ich mich im voraus!!

Viele Grüße


----------



## ComFreek (19. März 2012)

Du könntest die Funktion Alias  benutzen, z.B.:

```
Alias /extern-music F:/Externe_Festplatte/music
```
Damit könntest du einfach auf http://localhost/extern-music zugreifen.

Ansonsten wenn das nicht funktioniert, könntest du ein einfaches PHP-Skript schreiben, welches als Vermittler der Datei dient:

```
<?php
if ( !isset($_GET['file']) )
  die('File not specified');

if ( !file_exists($_GET['file']) )
  die('File not found');

$fileHandle = fopen($_GET['file'], 'rb') or die('File not readable');
fpassthru($fileHandle) or die('File not readable (2)');
fclose($fileHandle);
?>
```
Hier könntest (musst) du noch entsprechende Sicherheitsmechanismen einbauen, sofern dein Server von außen erreichbar ist.


----------

