CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
14.06.2006, 12:02:18
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 34
|
|
URL verstecken und anderes
Moin, moin,
ich hab mich ja jetzt schon durch das Forum hier gearbeitet und auch gegoogelt. Aber irgendwie komm ich auf keine richtigen Pfad (denke mal, mir fehlt n anstoss) und hoffe, das ich hier den nötigen Input finde.
Zu unserem Vorhaben:
Wir haben zwei Server: Server A(Linux) / Server B (Windows)
Der User loggt sich auf Server A ein und soll dort Videos on Demand anschauen können, welche auf Server B liegen.
Die Videos sollen nicht auf der Webseite, sondern im WMP aufgerufen werden, so dass der User sich die Videos dort anschauen kann (per Streaming).
Nun haben wir das Problem, dass der User ja die URL auslesen kann und ggf. durch Zufall tippend auch die anderen Videos ansehen kann ohne dafür die Berechtigung zu haben.
Ich habe etwas von hash gelesen und auch hier im Forum die Topics, bei denen es um url verstecken geht.
Mit Hash habe ich mich noch nicht so befasst (eigentlich noch gar nicht) und hab ehrlich gesagt, keinen Plan, wo ich da anfangen kann und soll.
Was die URL verstecken über header (location) anbetrifft, so habe ich das a) nicht hinbekommen und b) denke ich, dass denoch im Player die richtige URL ja angezeigt wird.
Weiß jemand ein gutes Tut zu Hash oder hat jemand eine Idee, wie man das ganze machen könnte?
|
14.06.2006, 13:14:04
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: URL verstecken und anderes
Hi JB
Damit du die Urls verstecken kannst, solltest du mit FOPEN arbeiten.
Um den Download = Stream zu verschlüsseln, könntest du beim aufruf des Files einen Key verwenden, welcher eindeutig für dieses File ist.
Vorsicht:
Der Traffi zählt doppelt, wenn du ein FOPEN von SERVER A aus startest.
|
14.06.2006, 15:51:39
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 34
|
|
AW: URL verstecken und anderes
Hi Nev,
danke erstmal für Deine Antwort.
Das mit dem Key hat mich inspiriert und nun haben wir das schonmal mit dem Zufall geklärt.
Das mit dem fopen habe ich noch nicht so ganz verstanden (habe noch nie damit gearbeitet), werde ich mich aber da jetzt mal einlesen.
Das mit dem doppelten Traffic is wurscht, da beide Server Traffic en masse haben....
JB
|
14.06.2006, 15:54:58
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: URL verstecken und anderes
Hi @gain
das Fopen brauchst, wenn du die Addresse von Server B wo die Files liegen ned bekannt geben willst.
FOpen liest das File vom anderen Server und gibt es vom Server A her aus.
daher der doppelte Traffic
FOPEN sollte auch die Rechte haben, http://-Files zu öffnen.
|
14.06.2006, 16:26:03
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 34
|
|
AW: URL verstecken und anderes
Hm... also ich hab das jetzt mal so versucht:
PHP-Code:
error_reporting(E_ALL);
$dokuid=$HTTP_GET_VARS[dok];
$doku="http://xxx.xxx.xxx.xxx:81/ordner1/ordner2/".$dokuid;
fopen($doku, "r");
echo"$doku";
Es zeigt aber folgenden Fehler an:
Use of undefined constant mov - assumed 'mov'
Da ich ja mit dem Echo aber den Filmnamen ausgeben lasse (Die komplette URL), konnte ich prüfen ob die stimmt oder nicht. Und die stimmt.
Es öffnet sich auch kein WMP... nur die Fehlermeldung.
JB
|
14.06.2006, 16:32:12
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: URL verstecken und anderes
Hi @gain
Du musst den richtigen Header vorschicken
und dann folgendes machen
Code:
$handle = fopen("http://www.example.com/", "rb");
while (!feof($handle)) {
echo fread($handle, 8192);
}
fclose($handle);
sollte eigentlich gehn
|
14.06.2006, 16:38:46
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 34
|
|
AW: URL verstecken und anderes
Hi,
was meinst Du mit richtigem Header?
Bisher habe ich kein HTML oder dgl. eingebunden, sondern nur den PHP Code.
Muss ich auf was spezielles beim Header achten?
JB
|
14.06.2006, 16:48:09
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: URL verstecken und anderes
Hi
Damit das System (User) das File richtig erkennt solltest du den richtigen Header mitschicken
das is ein kurzer Auszug von einem Download-Script
PHP-Code:
HEADER('Pragma: public');
HEADER('Expires: 0');
HEADER('Cache-Control: must-revalidate, post-check=0, pre-check=0');
HEADER('Cache-Control: public');
HEADER('Content-Description: File Transfer');
SWITCH (STRTOUPPER($row_upload['upload_ext'])) {
CASE 'PDF':
HEADER('Content-type: application/pdf');
BREAK;
CASE 'JPG':
CASE 'JPEG':
CASE 'JPE':
HEADER('Content-type: image/jpeg');
BREAK;
CASE 'GIF':
HEADER('Content-type: image/gif');
BREAK;
CASE 'PNG':
HEADER('Content-type: image/png');
BREAK;
CASE 'XLS':
CASE 'XLA':
HEADER('Content-type: application/msexcel');
BREAK;
CASE 'DOC':
CASE 'DOT':
HEADER('Content-type: application/msword');
BREAK;
CASE 'ZIP':
HEADER('Content-type: application/zip');
BREAK;
CASE 'PPT':
HEADER('Content-type: application/vnd.ms-powerpoint');
BREAK;
CASE "MP3":
HEADER('Content-type: audio/mpeg');
BREAK;
CASE "WAV":
HEADER('Content-type: audio/x-wav');
BREAK;
CASE "MPEG":
CASE "MPG":
CASE "MPE":
HEADER('Content-type: video/mpeg');
BREAK;
CASE "MOV":
HEADER('Content-type: video/quicktime');
BREAK;
CASE "AVI":
CASE "ASF":
CASE "WMV":
HEADER('Content-type: video/x-msvideo');
BREAK;
DEFAULT:
HEADER('Content-type: application/force-download');
BREAK;
}
HEADER('Content-Transfer-Encoding: binary');
HEADER('Content-Disposition: attachment; filename="'.$down_name.'"');
HEADER('Content-Length: '.FILESIZE($file_down));
READFILE($file_down);
DIE();
|
14.06.2006, 17:03:19
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 34
|
|
AW: URL verstecken und anderes
Hi,
ah, o.k., danke.
Also, ich hab nun erstmal folgenden Code eigebunden:
PHP-Code:
<?php
HEADER('Content-type: video/x-msvideo');
?>
<?php
error_reporting(E_ALL);
$handle = fopen("http://xx.xx.xx.xx:81/ordner1/ordner2/b78aa8c7ed30b2230c897c7e6e15b18e_de.wmv", "rb");
while (!feof($handle)) {
echo fread($handle, 8192);
}
fclose($handle);
?>
Nun gibt er mir keinen Fehler mehr aus, allerdings auch nicht das Video sondern:
[Reference]
Ref1=http://xx.xx.xx.xx:81/ordern1/ordner2/b78aa8c7ed30b2230c897c7e6e15b18e_de.wmv?MSWMExt=.asf
Ref2=http://xx.xx.xx.xx:81/ordern1/ordner2/b78aa8c7ed30b2230c897c7e6e15b18e_de.wmv?MSWMExt=.asf
Hm... muss ich im Header noch mehr angeben?
Grundsätzlich: Die .wmv dateien liegen ja auf dem Stream-Server A. Ich gehe hoffentlich richtig in der Annahme, dass der MIME-Type (Header) denoch so richtig ist, obwohl auf der angegebenen Webseite von Dir nur .avi Videos von MS angegeben sind.
Den Header habe ich aus Deinem Auszug, da ja da .wmv steht.
JB
|
14.06.2006, 17:16:29
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: URL verstecken und anderes
Hi
Schau dir die User-Kommentare bei Php-Net / Fread durch
da solltest alles finden
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:15:46 Uhr.
|