WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   erweiterte .htaccess (http://www.wcm.at/forum/showthread.php?t=115562)

Potassium 15.11.2003 15:19

erweiterte .htaccess
 
hi leute
ich will folgendes prob lösen.
mittels .htaccess soll das verzeichnis wcm.kalium.org vor neugierige blicken geschützt werden (options -indexes) nun soll aber wenn man sich anmeldet (auch mit .htaccess) man schon zugriff auf das verzeichnis haben (auch mit listing). wie mach das?
also:
wenn man sich anmeldet darf man den inhalt gelistet sehen
wenn ned soll:
Zitat:

Forbidden
You don't have permission to access blablab on this server.
stehen.
wie mach ich das?

flinx 15.11.2003 15:28

http://selfhtml.teamone.de/diverses/htaccess.htm

Chrisi99 15.11.2003 15:29

vielleicht meinst du das :
Code:

<FilesMatch "protected\.htm">
  AuthName "Lottozahlen der naechsten Woche"
  AuthType Basic
  AuthUserFile /......../.htpasswd
  require valid-user
</FilesMatch>

sonst da "alles" über htaccess

http://www.ideenreich.com/htaccess/index.shtml


mfg

Potassium 15.11.2003 17:35

das is alles ned genau das was ich brauch:
ich will das im .htaccess drinsteht:

AuthName "Lottozahlen der naechsten Woche"
AuthType Basic
AuthUserFile /......../.htpasswd
require valid-user
else:
options -indexes

verständlich?
und wenn das ned mit .htaccess geht wie dann?

Chrisi99 15.11.2003 18:18

Zitat:

Original geschrieben von potassium

else:
options -indexes


also geht es dir um den "else" Zweig ? wenn man nicht angemeldet ist, und versucht, zugang zu den Daten zu erhalten, kann man per htaccess eh eigene Errorpages (ergo für 404, 403 usw) machen.. meinst du das ?

Potassium 15.11.2003 18:55

genau darum geht es.....

Chrisi99 15.11.2003 19:07

... und die Lösung erscheint dir nicht passend ?

Potassium 15.11.2003 19:39

welche lösung?
kann ich etwa in ne htaccess datei ne ifabgfrage machen?
oder was meinst du?

Chrisi99 15.11.2003 19:49

*verwirrt*
also nochmal:

Du willst, dass bestimmte Dateien auf deiner Homepage nur von bestimmten, durch Login und PWD indentifizierten Personen gesehen werden können, und dies wird per .htaccess gelöst.
Wenn nun jemand, ohne authentischen Login daherkommt, soll er auf eine bestimmte seite geleitet werden, auf der dann "Error 403 Permission denied" oÄ steht, auch das wird per .htaccess gelöst.

Aber... ??

mfg

Potassium 15.11.2003 19:56

aber wie mach ich das?
schreib mir bitte die htaccess die du meinst!

Chrisi99 15.11.2003 20:14

in der htaccess schauts dann glaub ich so aus... ich müsste noch schnell nachschauen :D

Code:


ErrorDocument 404 /fehlerverzeichnis/fehlerdatei.html


Potassium 15.11.2003 21:25

neine die ganze plz.
weil wie meld ich mich dann an?
WIE WÜRDE DIE GANZE .HTACCESS DATEI AUSSEHEN?

snowman 16.11.2003 11:11

wurde eh schon oben gepostet. und dann fügst noch oben genannte zeile ein, aber statt 404 schreibst 403 rein.

gruss,
snowman

ps.: a bisserl a eigeninitiative darf man wohl erwarten, oder?

_m3 16.11.2003 11:40

Beim potassium? :lol:
Der wartet darauf, dass man ihm die Lösung auf dem silbernen Tablett serviert. :ms:

potassium: Weitere Infos gibts hier:
http://wsabstract.com/howto/htaccess.shtml
http://www.ekiwi.de/tools/htaccess/index.php

Potassium 16.11.2003 12:28

@ _m3:warum schwierig wenn es auch einfach geht. :D nein im ernst ich denke wir reden aneinander vorbei.
die seiten helfen mir auch nicht weiter wirklich weil: entweder ein passwortschutz oder ein redirect aber ned beides verreint. oder hab ich schon wieder mal was überlesen :D sollte das der fall sein bitte ich um richtigstellung.

ich habe jetzt folgenden code in der .htaccess datei:
Code:

AuthName "Lottozahlen der naechsten Woche" 
AuthType Basic 
AuthUserFile /home/username/wcm.kalium.org/.htpasswd 
require valid-user   
else: 
ErrorDocument 403 /home/username/wcm.kalium.org/startindex.html

(username habe ich jetzt hier im code geändert)
und nun gibt es automatisch einen internal server error. siehe hier
wo hab ich mich da noch geirrt?

snowman 16.11.2003 16:28

1. AuthUserFile /home/username/wcm.kalium.org/.htpasswd

dein verzeichnis heißt wcm.kalium.org oder nur wcm? ich tippe auf zweiteres und daher schreibst du auch nur wcm da rein.

2. im ASCII mode raufgeladen?

gruss,
snowman

Potassium 16.11.2003 18:59

nein. der ordner ist in wirklichkeit ein subdomain. von www.kalium.org nämlich wcm.kalium.org.....also daran liegt es ned......

_m3 16.11.2003 19:10

Zitat:

Original geschrieben von potassium
Code:

AuthName "Lottozahlen der naechsten Woche" 
AuthType Basic 
AuthUserFile /home/username/wcm.kalium.org/.htpasswd 
require valid-user   
else: 
ErrorDocument 403 /home/username/wcm.kalium.org/startindex.html


Ich glaube nicht, dass "else:" Bestandteil der htaccess Spezifikation ist. Du moechtest Dich unter http://wsabstract.com/howto/htaccess.shtml ueber htaccess im Allgemeinen informieren.
Schon mal ohne dem "else:" probiert?

Potassium 16.11.2003 20:04

nun versteh ich gar nix mehr. ich schreibe das ich denke da es mit else nicht geht. darauf da chrisi99
Zitat:

... und die Lösung erscheint dir nicht passend ?
also denk ich er meint ich soll es so machen....(dabei denk ich das ich no nie was davon gelesen hab...auch ned auf deiner seite (@_m3) die ich mir schon angeschaut hab) aber ich bin ja brav und probier es aus......und was is der internal server error erscheint na nona wenn es das nicht gibt.
ABER MEIN FRAGE AR WIE ICH ES MACHE UND DAS STEHT AUF KEINER DIESER SEITEN!
also nochmal kurz:
wenn der user sich anmeldet solll er den inhalt sehen...
wenn nicht soll er redirected werden....
geht BEIDES mit htaccess oder ned? und wenn ja WIE?

Chrisi99 16.11.2003 20:16

Ja es geht beides.

Also
1) du schützt den Bereich einfach mit einer htaccess nach diesem Muster:

Code:

AuthUserFile /pfad zum /.htpasswd
AuthName kunden
AuthType Basic
<Limit GET>
require user xxx
</Limit>

der Trick: die Angabe, was Limitiert werden soll sagt gleichermaßen auch aus, wer nicht auf die Datei zugreifen darf.

jetzt spuckt der Server den Error 403 aus: Permission Denied.
Wenn du willst, kannst du die Fehlermeldung für 403 jetzt noch per htaccess verändern

Code:

ErrorDocument 402 http://www.mein Fehler.html
damit ist alles getan.
Also 2 Files (.htacces und .htpasswd) und fertig ist die Geschichte..

http://www.ideenreich.com/htaccess/index.shtml


mfg

Potassium 16.11.2003 20:38

nun fällt mir aber gerade ein... ads wenn man sicht anmelden muss man nicht nur nix sieht.....nein man hat auch auf nix zugriff....:heul:
ich fürchte ich muss das ganz anders lösen.....

Chrisi99 16.11.2003 20:44

Zitat:

Original geschrieben von potassium
nun fällt mir aber gerade ein... ads wenn man sicht anmelden muss man nicht nur nix sieht.....nein man hat auch auf nix zugriff....:heul:
ich fürchte ich muss das ganz anders lösen.....

??

das is doch der Sinn der Sache oder?

Aber du kannst ja jedes Verzeichnis extrig schützen


mfg

Potassium 16.11.2003 21:16

nein der sinn wäre:
jeder soll zugriff haben aber nicht sehen was da sonst noch drinn is (ich setz irgendwo im web zb im forum nen link)
nur der admin soll auch schaun können was drin is.

Chrisi99 16.11.2003 21:29

Was du also möchtest ist, dass "man" die Dateien nur sehen kann, wenn sie direkt gelinkt sind.


ich glaube auch das geht per .htaccess, es gibt da so etwas wie ein "HIDE" parameter.

mfg

Potassium 16.11.2003 21:35

jo aber wenn der admin sich anmelder soll er alles sehen können also das ganze directory.... und das is das prob..weil in einer htaccess kan ich keine bedinungsabfrage machen. :heul:

_m3 16.11.2003 21:37

Zitat:

Original geschrieben von potassium
nein der sinn wäre:
jeder soll zugriff haben aber nicht sehen was da sonst noch drinn is (ich setz irgendwo im web zb im forum nen link)
nur der admin soll auch schaun können was drin is.

Und das konntest Du so nicht 20 Postings frueher so formulieren?

Aus meinem Link:
Zitat:

Do you have a directory full of images or zips that you do not want people to be able to browse through? Typically a server is setup to prevent directory listing, but sometimes they are not. If not, become self-sufficient and fix it yourself:

IndexIgnore *

The * is a wildcard that matches all files, so if you stick that line into an htaccess file in your images directory, nothing in that directory will be allowed to be listed.
http://wsabstract.com/howto/htaccess11.shtml

kikakater 16.11.2003 22:09

@m3: Er WILL ein Directorylisting erlauben, aber nur beim Benutzer "gramatneusiedel" und passwort "murksdifurks"

Das geht nur über ein CGI:

ErrorDocument 403 /cgi-bin/filter_gramatneusiedel_to_list_directory_content_f rom_perl_script.pl

_m3 16.11.2003 22:17

Das seh ich nicht so, er schreibt ja "jeder soll zugriff haben aber nicht sehen was da sonst noch drinn is".

Potassium 16.11.2003 22:29

ALLE zugriff
aber nur der angemeldete soll ganzen inhalt sehen.

@_m3:
wegen der formulierung sry. werde mich bessern :D

kikakater 16.11.2003 22:37

Mein Fehler, Korrektur: Nr. 403 gehört durch Nr. 405 ersetzt und im Perl Script muss auf "Directorylisting durchführen" als Methode abgefragt werden.

Wenn das Verzeichnis aufgelistet werden sollte und dies ist nicht erlaubt (durch IndexIgnore * oder Options -Indexes) so kann man nun für den Admin Benutzer gramatneusiedel den Verzeichnisinhalt durch Generierung eines Directorylistings trotzdem anzeigen, alle anderen bekommen beispielsweise einen Redirect auf eine Seite startindex.html oder verzeichnislisting nicht erlaubt.html

kikakater 16.11.2003 22:40

@potassium: Den Sinn habe ich verstanden, mir war nur die Bedeutung des Fehlercodes 403 nicht zugegen. Ich habe es mit Directorylisting denied assoziiert.

kikakater 16.11.2003 22:48

Die Authentifizierung darf auch nicht über den Webserver gemacht werden, sondern über ein Formular.

Wenn ich eine URL mit existierendem Verzeichnis in der Adresszeile des Browsers eingebe, so ist zu diesem Zeitpunkt kein entsprechendes gramatneusiedel "4784q3bn785t4784 Cookie" namens 4784q3bn785t4784 vorhanden und insofern wird das Listen des Verzeichnisses abgelehnt. Für den User gramatneusiedel aber nicht, da er sich an entsprechender Stelle eingeloggt hat und deshalb das Cookie durch ein CGI angestossen vom Client-Browser angelegt wurde. Nur ein Ausloggen bzw. ein expire macht das Cookie wieder unwirksam.

mfg Kikakater

kikakater 16.11.2003 22:52

Alternativ zum Cookie könnte man die IP der Clientmaschine festhalten nach dem Einloggen und so das Listing machen (falls mit dieser IP ein login gemacht wurde) oder eine Seite oder Meldung anzeigen (wenn keine IP in den CGI gemachten Aufzeichnungen (z.B: Protokoll_IP.log) zu finden ist).

Potassium 16.11.2003 22:56

da ich mich mit cookies noch nicht beschäftigt hab, hab ich null ahnung wie das funzt.
was brauche ich dazu?

PS: webspace hat PHP4 (falls das was damit zu tun hat)

kikakater 16.11.2003 23:02

Die setcookie Funktion erledigt das. Den Wert des Cookies erhält man mit $_COOKIE['cookiename'].

kikakater 16.11.2003 23:05

Ich würde das Ganze aber mit der IP machen, denn ein Admin Benutzer sollte eigentlich keine Cookies akzeptieren (für ein Mehr an Sicherheit).

snowman 17.11.2003 10:12

mittels php: siehe Beispiel 2 auf der seite:
http://ch2.php.net/manual/de/function.scandir.php und dann gibst du diesen array aus.

gruss,
snowman

_m3 17.11.2003 11:17

Zitat:

Original geschrieben von kikakater
Ich würde das Ganze aber mit der IP machen, denn ein Admin Benutzer sollte eigentlich keine Cookies akzeptieren (für ein Mehr an Sicherheit).
LOL. klar. Und was machts Du, wenn einer von hinter der FW kommt, wo 100+ Leute mit einer IP daher kommen? ;)

kikakater 17.11.2003 12:54

Wenn jemand von so einer Stelle aus dem Admin Benutzer ein Directorylisting vollführen läßt - nach dem erfolgten Login - geht er das Risiko ein, daß alle anderen mit derselben IP auch auf das Directory zugreifen können, in dem Sinn, daß es durch scandir gelistet und danach angezeigt wird.

Wenn Du Deine Kreditkartennummer nicht unter Verschluß hältst, passiert es eben, daß jemand sie mißbraucht.

Man kann es zwar noch um das Verfahren mit dem Setzen eines Cookie anreichern, aber das nur nebenbei. Dann ist die IP alleine zuwenig, um eine Liste der Dateien zum Browser geschickt zu bekommen.

Ätschipetsch und Ende :p

Bitte nicht so tierisch ernst nehmen - Forumsböser :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag