Zur Navigation

Domain verstecken

iframe funktioniert nur auf der ersten Navigations-Ebene

1 scherpa747

Hallo,

ich möchte Dateien verstecken.
Dazu habe ich den ersten Aufruf in einen Iframe gelegt. Dieser soll später durch eine User-Verwaltung geschützt werden.

Dummerweise aber verlinkt diese Datei wieder zu anderen Dateien und deren Standort wird dann nicht mehr versteckt.
Anzusehen ist das unter www.savinius.de/index.php?id=portal.

Da es in der Summe fast 8000 Dateien sind, muss ich mir genau überlegen, ob es nicht eine Möglichkeit gibt, das Verzeichnis direkt zu schützen oder zu verstecken.

Die Userverwaltung setzt auch ein Cookie, das ich versucht habe abzufragen, aber das Cookie wurde nicht gefunden und daher immer umgeleitet.

OptionsOptions +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !*fe_typo_user.*$ [NC]
RewriteRule .*$ http://www.savinius.de/index.php?id=login [L]
Diese .htaccess ist zur Zeit inaktiv, sonst könnte niemand auf das Portal zugreifen.

Gibt es eine Möglichkeit, die Dateien zu schützen oder zumindest zu verstecken, ohne dass alle Links umgeschrieben werden müssen?

Ich bin langsam wirklich am verzweifeln.

Viele Grüße
Marianne

30.05.2012 09:23

2 Jörg Kruse

Hier fehlt noch ein Punkt vorm Sternchen:

RewriteCond %{HTTP_COOKIE} !.*fe_typo_user.*$ [NC]

... wobei es hier auch kürzer ginge:

RewriteCond %{HTTP_COOKIE} !fe_typo_user [NC]

Dabei wird natürlich nur auf das Nicht-Vorhandensein des Cookies geprüft, nicht auf einen nicht korrekten Inhalt des Cookies. Einen sicheren Schutz könnte man eher mit einem Verzeichnisschutz realisieren:

http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz

30.05.2012 09:39

3 scherpa747

mmh,
ich habe die kurze Variante eingefügt, das klappt. Aber wie Du schon sagst, damit wird nur das Vorhandensein geprüft. Darum war das nur meine Notfall-Lösung.
Wie prüfe ich eigentlich den Host des Cookies fe_typo_user?

Den Verzeichnisschutz kann ich nicht nehmen, weil die Benutzerverwaltung ja innerhalb der Anwendung TYPO3 erfolgt. Hier stehen alle Benutzer und deren Passwörter in der Datenbank.

Daher meine Idee mit dem Verstecken der URL über den iFrame. Doch dann sind die weiterführenden Links wieder sichtbar.

Irgend eine Idee?

Gruß
Marianne

30.05.2012 10:57

4 Jörg Kruse

Wie prüfe ich eigentlich den Host des Cookies fe_typo_user?

Der Cookie kann von der .htaccess Datei nur gelesen werden, wenn er für die gleiche Domain gesetzt wurde. Wozu möchtet du das überprüfen? den Cookie erhält man schon beim ersten Aufruf der Startseite. Ansonsten könnte man ihn auch mitsamt allen Parametern fälschen.

Den Verzeichnisschutz kann ich nicht nehmen, weil die Benutzerverwaltung ja innerhalb der Anwendung TYPO3 erfolgt. Hier stehen alle Benutzer und deren Passwörter in der Datenbank.

Dann ist wohl eher eine TYPO3 Lösung gefragt.

30.05.2012 11:46

5 scherpa747

Hallo Jörg,
ich gebe noch nicht auf.
Ich habe jetzt ein eigenes Cookie für angemeldete User mit der Bezeichnung gruppe gesetzt.
Meine .htaccess liegt im Unterverzeichnis fileadmin/portal/haendler_de

Sie sieht wie folgt aus:
OptionsOptions +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !gruppe=1 [NC]
RewriteRule .*$ http://www.savinius.de/index.php?id=login [L]

Firebug sagt:
Cookie-Name: gruppe
Cookie-Wert: 1
Host: www.savinius.de
Pfad /

Damit sollte doch der Zugriff auf das Verzeichnis fileadmin/portal/haendler_de erlaubt sein.
Statt dessen bekomme ich einen 500, Interner Serverfehler.

Wenn die Condition ändere auf
RewriteCond %{HTTP_COOKIE} gruppe=1 [NC]
erhalte ich den gleichen Fehler.

Was habe ich denn falsch gemacht?
Ich ärgere mich über mich selbst, dass ich das mit der .htaccess einfach nicht begreife.

Gruß
Marianne

30.05.2012 16:32

6 Jörg Kruse

Du hast da ein "Options" zuviel drin:

OptionsOptions +FollowSymlinks

30.05.2012 16:39

7 scherpa747

Hallo,
jetzt klappt es so wie es soll.
Der Zugriff auf die Dateien ist deutlich eingeschränkt.
Die Lösung ist eine Kombination aus TYPO-Script, PHP und .htaccess.

Die php-Datei secure.php setzt ein Cookie
<?php

$userarray = explode(',',$GLOBALS['TSFE']->fe_user->user['usergroup']);

if ($_COOKIE['gruppe'] == "" and $userarray[0] != '') {
  setcookie('gruppe', $userarray[0] ,0,'/','.savinius.de');
}

Das Script verbinde ich mit TYPO3 über ein ErweiterungsTemplate auf der Login-Seite:
[usergroup = *]
page.headerData.78 = PHP_SCRIPT
page.headerData.78.file = fileadmin/portal/secure.php

Das Cookie wird in der .htaccess geprüft.
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !gruppe=1 [NC]
RewriteRule .*$ http://www.savinius.de/index.php?id=login [L]

Noch einmal vielen Dank für die Hilfe.
Sonst hätte ich das nicht geschafft.
Wohin darf ich spenden?

Viele Grüße
Marianne

31.05.2012 10:45

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]