Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ordner schützen bis User freigeschaltet

Frage Entwicklung PHP

Mitglied: DreamCatcher

DreamCatcher (Level 1) - Jetzt verbinden

13.08.2009, aktualisiert 10:49 Uhr, 6045 Aufrufe, 25 Kommentare

Hallo,
ich weiß ich habe schon einmal eine ähnliche Frage gestellt, komme aber wieder einmal nicht weiter... entweder Systemblind oder whatever.

1. Ich habe "einen" Benutzer.
2. Dieser Benutzer loggt sich in das System ein.
3. Er hat Zugrff auf "Ordner 2" erworben und klickt auf den Link "Ordner 2".
4. Die verlinkte Seite überprüft den rechtmäßigen Zugriff, ob der Benutzer "Ordner 2" sehen darf.
5. Er darf den Ordner sehen, also wird das Skript aus "Ordner 2" ausgeführt welches eine jeweilige index.html im jeweiligen Subordner per readfile() ausliest und anzeigt.
6. Das Skript (Adobe Presenter / index.html & viewer.swf) wird nun erfolgreich aufgerufen. Die Folien werden angezeigt, alles wunderbar.
(Die Adobe Presenter Daten und Folien auf die die index.html und der viewer.swf aus "Subordner" zugreifen liegen im Ordner "data", welcher nicht geändert werden kann.)

e152684cfe932a4d48cfa7e29b6e2819-schaubild_1 - Klicke auf das Bild, um es zu vergrößern

Alles so weit so gut, das System läuft, der Benutzer ist glücklich.... das "böse Skript Kiddi" ebenfalls, der Administrator jedoch nicht.

Warum? Weil man jede Seite / jeden Adobe-Presenter Viewer via URL aufrufen kann.

Zum Beispiel
www.domain.de/ordner 2/sub 2.1/viewer.swf
oder
www.domain.de/ordner 3/sub 3.1/viewer.swf

Der direkte Zugriff auf die Flash-Dateien und somit der unerlaubte Zugriff auf die relevanten Inhalte bleibt bestehen.

... wie bekomme ich nun diese Verzeichnisse vor direktem Zugriff geschützt? Ich habe es bereits mit htaccess versucht. Deny from all schlägt selbstverständlich fehl, da die index.html ja aufgerufen wird die wiederrum die daten aus den Unterordnern braucht. Dieser Zugriff wird ja durch deny from all unterbunden. Eine direkte Weiterleitung wenn die URL eine von den obenen ist auf die Startseite klappt wunderbar, allerdings werden die Inhalte ebenfalls nicht mehr angezeigt wenn man den richtigen Weg über das System geht. Sprich jegliche Arbeit mit htaccess schlug bisher fehl.

Weitere Lösungsansätze wie das temporäre kopieren der Dateien in einen speziellen User-Ordner sind ausgeschlossen da die Dateien mehrere Gigabyte an Umfang annehmen werden.
Ein Lagern der Dateien außerhalb des Doc-Root kommt zur Zeit in der Produktivumgebung nicht in Frage, klappte aber auch in einer Testumgebung nicht...

Ein Arbeiten mit Sessions wäre möglich, fällt mir aber keine Möglichkeit ein zur Zeit.

So long.... hiiiilllfeeeee
Wie bekomme ich die Ordner geschützt?

Grüße,
Tim
Mitglied: kugelschreiber
13.08.2009 um 15:22 Uhr
Hi.

1. Also ich habe keine Ahnung vom Adobe Presenter, daher weiß ich nicht, ob Du eine original Fla Datei vorliegen hast, die Du manipulieren kannst. Denn wenn dies der Fall ist, kannst du es mit Sessions lösen in dem du in Deiner Flashdatei in PHP Script aufrufst, welches die Session Daten prüft und danach enscheidet ob irgendwas passieren soll oder nicht.

2. Anderenfalls, kannst Du Dir mittels eines prepent_files (eine Datei, die vor jedem Request an den Server ausgeführt wird) prüfen, ob der direkte Zugriff auf eine .swf erlaubt wird. Allerdings bin ich mir da nicht ganz sicher. Ist eben nur eine Idee!

Gruß Kuli
Bitte warten ..
Mitglied: DreamCatcher
13.08.2009 um 15:46 Uhr
Hallo Kuli

zu 1.) Nein, leider wird die fla Datei nicht mit gespeichert, es gibt auch keine derartige Funktion.

zu 2.) Leider kenne ich "prepent_files" so nicht, auch in google finde ich dazu keinen einzigen Treffer?!
Weiter wüsste ich nicht wie ich das realisieren soll, wenn die .swf direkt aufgerufen wird?!

Grüße,
Tim
Bitte warten ..
Mitglied: kugelschreiber
13.08.2009 um 16:13 Uhr
1. Dann ist das sicherlich eine Datei die von Adobe generiert wird. Das ist schlecht.
2. Der Eintrag auto_prepend_file steht inder Konfig Deines Webservers ein. Allerdings ist dieser Eintrag im Apache Webserver und ich weiß nicht welchen Du benutzt.
Bitte warten ..
Mitglied: DreamCatcher
13.08.2009 um 16:39 Uhr
puh sieht kompliziert aus, mal sehen ob man irgendwelche howtos findet.
Danke schon einmal
Bitte warten ..
Mitglied: ccamel
14.08.2009 um 16:53 Uhr
Hi

Dein Benutzer loggt sich in das System ein. Ich nehme an du benutzt da Cookies. Gib in diesem Cookie mit in welcher Ordnerstruktur der Benutzer sich bewegen darf. Schreib ein PHP-Script, das dies überprüft und danach den Zugriff zulässt/verwehrt.

Hoffe Du kannst was damit anfangen. Ansonsten erläutere ich es Dir gerne genauer.

Gruss
Ccamel
Bitte warten ..
Mitglied: DreamCatcher
15.08.2009 um 10:42 Uhr
Hey Ccamel,
Idee an sich ist eine gute, jedoch unterbindet das leider nicht den direkten Zugriff auf die Flash-Dateien, oder?

cookies löschen
url eingeben www.domain.de/ordner/subordner/viewer.swf
anschauen

...oder habe ich da einen Denkfehler?!

Wie macht das eigentlich Rapidshare und Konsorten? Da kommt man ja auch nicht an die Datei?!

Grüße
Bitte warten ..
Mitglied: godlie
15.08.2009 um 18:10 Uhr
Hallo,

hm interessantes Problem.
Was mir hier einfiele wäre ein script welches die richtige datei ausliefert aber das ganze über
eine art "verschleierung".

wie sehe das denn aus wenn du die eigentliche datei per header und readfile() ausgibst?
Bitte warten ..
Mitglied: DreamCatcher
16.08.2009 um 10:48 Uhr
Hallo,
die eigentliche Datei (index.html & viewer.swf) im Subordner wird per readfile() im System ausgegeben wenn der User eingeloggt und der Inhalt freigeschaltet ist. Problem ist, das der viewer.swf ja die Dateien aus dem Subordner data bezieht... Sobald man irgendwas z.B. mit htaccess friemelt, kann die viewer.swf die Daten aus dem data Ordner nicht mehr lesen....jedenfalls mit den htaccess-Zeuch was ich schon versucht habe...

Ja Interessant schon, aber irgendwie mittlerweile auch nervig ;)

Grüße,
Tim
Bitte warten ..
Mitglied: ccamel
17.08.2009 um 08:51 Uhr
Hi

Den Denkfehler habe ich gemacht.

Habe was gefunden was dich nicht aufstellen wird:
http://www.phpforum.de/archiv_64051_Verzeichniss@schtzen@ohne@htaccess_ ...

Aber ich möchte ehrlich gesagt nicht glauben, dass es unmöglich ist.

Gruss und viel Glück
Bitte warten ..
Mitglied: DreamCatcher
17.08.2009 um 08:57 Uhr
Hey,
ein sehr aufbauender Link für einen Montag morgen

Hm... ich bin die ganze Zeit am überlegen wie z.B. Maxdome das hinbekommen hat... die Streamen ja auch unmengen von Daten ohne das man drankommt ohne zu bezahlen... ansonsten wären ja schon Methoden zum umgehen in diversen Boards zu finden...?!

Grüße und einen guten Start in die Woche..
Tim
Bitte warten ..
Mitglied: godlie
17.08.2009 um 13:13 Uhr
Hallo,

mir wäre da grad was eingefallen.
wie wäre es denn wenn du den zugriff auf diese dateien auf einen "abrufenden" host begrenzt?
Sprich mit einer htaccess nur von eigentlich Server aus zugreifen lässt.

Das müsste eigentlich funktionieren, wenn ein pbp script die Dateieen ausliefert,
alle anderen drüften ja dann ein deny bekommen.

Werd da mal einen Test machen.

grüße

edit
Also ich habs grad versucht und es funktioniert in dieser richtung.
eine htaccess mit folgendem inhalt:

01.
order allow,deny 
02.
deny from all 
03.
allow from xxx.xxx.xxx.xxx
das ganze in deinen daten ordner rein und fertig apache restart net vergessen
Bitte warten ..
Mitglied: DreamCatcher
17.08.2009 um 13:21 Uhr
Hallo,
theoretisch ja.. praktisch greift die index.htm / viewer.swf die ja beim User erst angezeigt werden auf die Inhakte aus dem data - Ordner zu. D.h. der Zugriff kommt ja von der Client-Seite. Oder gibt es eine Möglichkeit eine "IP-USERID" Liste zu erstellen. Alle User und deren IPs sind in dieser Liste und nur diese IPs aus der Liste / Datenbank dürfen zugreifen..? Aber wie soll htaccess eine Datenbank-Abfrage machen...?!

lg
Tim
Bitte warten ..
Mitglied: godlie
17.08.2009 um 13:23 Uhr
Ja und worin liegt das Problem, die viewer.swf einfach auf ein php script zugrerifen zu lassen,
welches mit readfile dann die Daten rausrückt?
Dann hast du nämlich den aufruf am Server.
Bitte warten ..
Mitglied: DreamCatcher
17.08.2009 um 13:28 Uhr
..ich kann die viewer.swf nicht bearbeiten ;)

Das ist ein Adobe-Konstrukt...
Bitte warten ..
Mitglied: godlie
17.08.2009 um 13:33 Uhr
Ja welche url ruft denn die viewer.swf auf?
irgendwas muss sie ja als param aufnehmen oder?

Ich werd nur nicht ganz schlau aus dem konstrukt.
Wie ist das jetzt welche datei beinhaltet schlussendlich die Folien?
Ist das die Viewer.swf? oder greift die nur auf eine weitere
Datei zu welche dann wirklich die Folien beinhaltet?
Bitte warten ..
Mitglied: DreamCatcher
17.08.2009 um 13:39 Uhr
system > datei.php > index.html > viewer.swf > xxx.swf

Der normale Weg:

Der User greift über das System auf eine Datei.php zu, die nachschaut ob der User die Rechte zum Betrachten hat.
Hat der User die Rechte wird in der Datei die index.html via readfile() eingebunden. Desweiteren sind in der index.html div. kleinerer Scripte zur korrekten Betrachtung der viewer.swf.

Die Viewer.swf ist das Haupt-Konstrukt, die einzelnen Folien und Medieninhalte liegen im data-Ordner.
Bitte warten ..
Mitglied: godlie
17.08.2009 um 13:44 Uhr
Hm was passiert wenn in dem Data Ordner die besagte htaccess anlegst?
Woher weis die viewer.swf welches swf sie öffnen muss?
Bitte warten ..
Mitglied: DreamCatcher
17.08.2009 um 13:51 Uhr
Dann kann die viewer.swf die Inhalte nicht mehr darstellen wenn die htaccess im data-Ordner liegt.

Beim Erstellen wird automatisch die viewer.swf sowie der data-Ordner erstellt. eine einzelne kompakte-all-in-one-swf erstellen geht leider nicht.
d.h. die viewer.swf weiß von Haus aus das Ihre Inhalte im Ordner data liegen.
Bitte warten ..
Mitglied: godlie
17.08.2009 um 14:08 Uhr
Hm das wird jetzt komliziert.

Es geht im Prinzip darum die Abfragen die der viewer.swf generiert abzufangen und über den server abzurufen.
Ich könnte mir so ein system ca so vorstellen:

01.
system > date.php -> index.html -> viewer.swf -> ganzgenialessicherscript.php -> xxx.swf
Das ganze liese sich aber auch anders realisieren fällt mir grad ein.

Wie wäre es denn wenn du jeden Aufruf auf data /* abfängst durch ein php Script jägst
und schaust ob derjenige das überhaupt darf?
Bitte warten ..
Mitglied: godlie
17.08.2009 um 14:42 Uhr
So ich hab mir jetzt was gebastelt.

im Verzeichnis data leite ich sämtliche anfragen auf swf dateien um.
01.
RewriteEngine On 
02.
RewriteRule ^(.*)\.swf$ index.php?g=$1
Dadruch hab ich jetzt die chance über meine php zu prüfen ob diese Datei ausgefliert werden darf.
Ich glaube damit kommst du durch oder?
Bitte warten ..
Mitglied: godlie
18.08.2009 um 14:08 Uhr
Würd mich interessieren obs damit jetzt funktioniert?
Bitte warten ..
Mitglied: DreamCatcher
18.08.2009 um 15:30 Uhr
Zitat von godlie:
Würd mich interessieren obs damit jetzt funktioniert?

Hallo,
ich schaff es erst die Tage mich wieder daran zu setzen. Sobald ich was in der Richtung hab sag ich bescheid

lg
Bitte warten ..
Mitglied: DreamCatcher
27.08.2009 um 08:43 Uhr
So... hat leider nicht geklappt. Die viewer.swf kann (wenn auch nur eine leere htaccess existiert) nicht mehr auf die daten im Data-Ordner zugreifen...
Bitte warten ..
Mitglied: godlie
27.08.2009 um 09:43 Uhr
Hm.
Jetzt wirds langsam schwierig, ich könnt mir vorstellen einen Wrapper einzusetzen der die viewer.swf wrappt.
Dadruch wäre die Möglichkeit da, durch diesen Wrapper eine Variable mitzuschleifen mit der man die
Berechtigung bestimmen könnte.

Das Problem das hier halt besteht ist jenes, das wie viewer.swf ja wie ein normaler Seitenaufruf gehandhabt wird.
Aber durch das durchschleusen aller Datei arten durch eine php Datei zur Zutrittskontrolle, brauch man hier irgendwas.

Mal überlegen vielleicht fällt mir noch was ein.
Wäre es eig. möglich mal ein paar testdateien zu bekommen?
gruß
Bitte warten ..
Mitglied: DreamCatcher
27.08.2009 um 11:34 Uhr
Hm,
ich habe mal ein kleines Paket hochgeladen:

www.bo-event.de/test.zip

Die Index.php wird includet in die andere .php im System die den Zugriff überprüft. Ob das jetzt eine index.php oder index.html ist würde an der Stelle keinen Unterschied machen (Standardmäßig ist es eine html).

Grüße,
Tim
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
User-ID zu Application Crash

Frage von pablovic zum Thema Windows Server ...

Exchange Server
gelöst Exchange und Dateisystem - Ordner extern archivieren und zusammenführen (10)

Frage von FA-jka zum Thema Exchange Server ...

Router & Routing
Radius für 15 User direkt über Mikrotik- oder Ubiquiti-Router (4)

Frage von Muesliriegel zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...