Seite 1 von 1

Verzeichnis für Webseitenbesucher sperren...

Verfasst: 08.11.2003, 00:24
von Herbert
Folg. Frage:

Kann man ein Verzeichnis auf dem Server unterhalb des /root für den normalen Besucher sperren gegen Abruf/Einsicht? Mit ftp-prog und CHMOD? dann kann allerdings auch kein abruf von dokumenten, die dort lagern (AGB usw.) mehr stattfinden...? müsste das also von jetzt 755 für alle auf 711 für group & others (also nur read) gestellt werden?
:roll:

Verfasst:
von

Verfasst: 08.11.2003, 11:16
von SISTRIX
/root sollte sowie nicht im Web sein ;)
Ich bin mir nicht ganz sicher, was Du willst? Das DirectoryListing unterbinden? - Dann schieb doch einfach eine leere index.html rein.
Wenn niemand den gesamten Inhalt lesen soll, lösch es vom Server.

Gruss Johannes

Verfasst: 08.11.2003, 12:37
von bugscout
moin herbert,

normalerweise kann man vor /root nichts abrufen
und somit dort auch nichts für den abruf bereitlegen.

wenn es bei dir geht dürfte einiges an der konfiguration im eimer sein. 0X

grüsse

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 08.11.2003, 16:38
von Halli
@herbert:

Ich bin mir nicht sicher, ob ich Dich richtig verstanden habe.

Normalerweise sichert man ein Verzeichnis unterhalb des 'Home-Verzeichnisses' auf dem Webserver (Document-Root) durch eine .htaccess-Datei vor unerwünschtem Zugriff. Scripte und andere Dateien auf Deinem Server können trotzdem auf Daten zugreifen, die in dem geschützten Verzeichnis liegen.

Bei topsubmit.de findest Du einen komfortablen .htaccess-Generator

Verfasst: 10.11.2003, 00:34
von Herbert
Nee, ich meine das home-Verzeichnis mit /root, sorry ;)
also dort stehen die index.html usw. als hauptdateien. nun gibts unterhalb also unterverzeichnisse, in dem auch z.b. die agb-formulare abgelegt sind.
die frage: kann ich das unterverz. so sperren gegen auflisten(!), also read(?), dass man zwar via link von der site aus die AGB anzeigen lassen kann (als pdf), aber nicht weiter in dem(!) unterverzeichnis nach anderen doku suchen kann durch aufruf des unterverz. und listen? oder schließt das attribut 711 (CHMOD) das dann aus?
hoffe, das war nun korrekt ausgedrückt...;)

server-struktur:

home: index.htm
|
|
unterverz.: AGB u.a.(!)

also www .meine-domain.de/unterverzeichnis.htm ==> ist nicht erlaubt!!

Verfasst: 10.11.2003, 00:37
von SISTRIX
Ich versteh immer noch nicht, was Du willst.
Sollen die Datein aus dem Internet abrufbar sein, ist doch alles perfekt, sollen sie das nicht, lösch sie halt vom Server?

Gruss Johannes

Verfasst: 10.11.2003, 00:55
von bugscout
moin herbert,
Das DirectoryListing unterbinden? - Dann schieb doch einfach eine leere index.html rein.
ins unterverzeichnis, dann wird nicht gelistet.

grüsse

Verfasst: 10.11.2003, 23:07
von Herbert
@Halli

OK, werden es anders machen (auch für weitere zwecke, s.u.):
Zitat:
"Normalerweise sichert man ein Verzeichnis unterhalb des 'Home-Verzeichnisses' auf dem Webserver (Document-Root) durch eine .htaccess-Datei vor unerwünschtem Zugriff. Scripte und andere Dateien auf Deinem Server können trotzdem auf Daten zugreifen, die in dem geschützten Verzeichnis liegen."

also wer kann mal eine .htaccess mit .htpasswd hier texten, die für folg. zweck gut sein muss:

- es wird ein eigenes verzeichnis "kunden" erstellt auf dem server. das liegt in der gleichen(!) ebene wie die index.htm der website...weil darüber geht nix anzulegen
(den document-path muss ich noch raussuchen, steht im readme-file denk ich...wird sowas sein wie: ... /raid/pub/abc-firma-de/www.abc-firma.de/usw...ist es das Server-Root oder das Startverzeichnis?)
- in diesem verzeichnis "kunden" soll dann die .htaccess liegen
- in dem verzeichnis kunden werden unterverzeichnisse angelegt: kunde1, kunde2...
- die datei .htpasswd muss ja in ein weiteres extra-verzeichnis wg. sicherheit, also zb. in /kunden/passwd und enthält dann die kunden-namen:password (als verschlüsseltes pwd mit encrypt() erzeugt...); auch dieses unterverz. /kunden/passwd muss dann wieder eine eigene .htaccess mit eigener .htpasswd2 erhalten, und user = ich_selbst in der .htpasswd2 ?

wie sieht also sowas korrekt aus ? :roll:

Verfasst: 10.11.2003, 23:24
von auer
Oben gibt es eine URL für einen htaccess-Generator. Nur durch Selbermachen lernt man so etwas. Dann testest Du es so lange, bis es all deine Wünsche erfüllt.

-----------
Gruß, Jürgen Auer

Verfasst: 11.11.2003, 00:37
von Halli
Hallo Herbert,

im Prinzip hast Du den 'Fahrplan' richtig beschrieben. Eine Hürde, über die ich früher oft gestolpert bin, ist die Tatsache, daß man in der .htaccess den absoluten Pfad zur .htpasswd auf dem Webserver angeben muß !!!

Also www.domain.de/kunden/passwd wäre falsch!

Wenn ich rausbekommen will, wie der absolute Pfad zum Document-Root meiner Domain auf dem Server meines Hosters lautet, helfe ich mir jetzt immer so:

Bau eine kleine Datei myphpinfo.php mit folgendem Quelltext:

Code: Alles auswählen

<?php
phpinfo&#40;&#41;;
?>
Pack sie ins Root-Verzeichnis Deiner Domain, ruf sie auf und schau in der Ausgabe im Abschnitt "Environment" nach dem Wert für "Document_Root"

Ich hoffe, ich konnte Dir weiterhelfen. Sonst schick einfach mal eine Mail oder PN

Gruß, Rainer

Verfasst: 11.11.2003, 01:23
von tron
Mit dem Code müsste es einfacher gehen. Vorallem brauchst du den Pfad dann nicht lange suchen, er wird direkt ausgeben ;-)

Code: Alles auswählen

<?php echo $DOCUMENT_ROOT; ?>
Gruss tron

Verfasst: 11.11.2003, 19:20
von Herbert
Danke für eure Hilfe ;)
Komme ich drauf zurück ....

Im Moment habe ich grad ne andere Frage:

wenn ich auf dem server in der gleichen ebene, wo die index.htm liegt, also "docroot", ein verzeichnis "kunde1" einrichte, kann man das dann herausfinden von "außen", also wenn man das unterverz. nicht explizit kennt?
ich stehe ja beim url-anwählen auf www.meinedomain.de/index.htm zum beispiel...kann ein unbeteiligter also auf das o.g. verz. "kunde1" durch irgendwelche abfragen kommen? dass man das durch zufall findet, ist klar, aber wenn es entspr. "umständlich" benannt ist, dauert das ja wohl...LOL
also der background ist, dass kunden sagen, sie haben niiieee das design/layout oder sonstwas zu gesicht bekommen, weil angebl. links (woandershin) net funktionierten ;)
also baue ich ein unterverzeichnis auf die schnelle auf dem server, nenne es zb. "kunde_xyz_design_123" und packe da die entwürfe zu seiner ansicht rein. nun teile ich ihm (und nur ihm) den link dahin mit und sage: nu klick dahin, dann siehst deine sachen...
vorteil: ich kann im logfile sehen, wann welche IP dort welche dateien geladen hat(??)....
nachteil: ich habe ne zeitverzögerung drin (logs gibts wochenweise), ich brauchs aber sofort. also nehm ich ein tracking-script auf just dieses kundenverzeichnis, baue es dort also ein und sehe sofort (naja, nach 15 min ca.) welche IP dort bei dem kunden dieses layout usw. downgeladen hat?
ist da ein denkfehler? was kann man besser machen auf die schnelle?
(klar, will ja das mit .htaccess und passwd usw. machen, aber im mom is es eilig)...

Verfasst: 11.11.2003, 22:41
von Herbert
@halli & tron

mit den php-scripten hab ich nun den docroot-pfad des servers...
nun kam beim bauen der .htaccess-datei (ich mache wieder mal alles gleichzeitig;))

folg. überraschung:
man benötigt ja eine zusätzliche .htpasswd-datei mit den zugelassenen usern & passwörtern gemäß: firma1:21kMU6FGLonBPZ
soweit, so gut. wenn man die entspr. routine crypt() von Unix (apache-server) nun mal sucht, gibt es ja einige zu finden. aber: von 10 websites die eine routine per cgi-script für crypt() anbieten, liefern 10 sites auch 10 verschiedene verschlüsselungen! alle sollen aber für unix/apache sein! hab ich da ne rotierende brille oder wie? :o jeder baut anscheinend irgendwas daher, und sagt dann "hier ist das verschlüsselte passwort"...

wie/wo find ich nun ein korrekt verschlüsseltes? kann doch net sein, dass ich erst die crypt() routine unter unix selbst umsetzen muß...!?
also ich bin soweit, dass die .htaccess im verzeichnis "kunden" steht und auch -wenn ich das verzeichnis im web aufrufe- der passwort-dialog des servers erscheint, sogar mit dem bereits eingetragenen kunden-usernamen, aber das ganze geht net weiter weil das passwort scheinbar nicht stimmt :( :-?

und zusätzlich ne frage zu CHMOD der beiden files .htaccess und .htpasswd: müssen diese unter 644 oder 755 laufen (zugriffsrechte also)?

all sowas schreib keiner in den unzähligen .htaccess-anleitungen, aber meist scheitert das ganze an diesen "kleinigkeiten"...;)

also eines steht fest: wenn ich das ganze thema erfolgreich hinter mir habe (*skeptischbinjetzt*) dann schreib ich mal ne anleitung for beginners, die man auch umsetzen kann...LOL

Verfasst: 12.11.2003, 02:41
von bugscout
moin moin herbert

ich hab dir mal die datei access.zip auf den server gelegt.
die beinhaltet access.php.
https://www.bugscout.de/access.zip

diese datei wird in das verzeichnis gelegt und aufgerufen.
dazu muss das verzeichnis vorübergehend auf 777 gesetzt werden.

nach dem ausführen liegt allerdings htpasswd auch im selben
verzeichnis. wenn du das änderst kann der pfad in htaccess
angepasst werden (AuthUserFile).

nachher access.php wieder löschen.

grüsse

jedes server cryted anders

Verfasst: 12.11.2003, 03:05
von Herbert
Yep, erledigt, thx dafür ;)

Also hab inzwischen DAS tool gefunden, um Pwd´s auf Win-clients (also unter Win) zu erzeugen für unix-server:
https://www.magsys.co.uk/apps/passwd12.zip
und es funzt sogar damit LOL
BTW: der zugang zum verz. klappt, richtig mit ID und Pwd, aber beim zweiten mal testen geht der zugang sofort durch, OHNE erneute ID/Pwd-abfrage, obwohl die .htaccess und .htpasswd natürlich noch da sind wo sie vorher waren -liegt das an dem cache im IE?? dass also diese daten dort noch stehen und somit vom client (dem IE also) an den apache-server geleifert werden aus der vorherigen sitzung sozusagen? habe IE-cache-löschen, also dateien löschen/verlauf löschen durchgeführt, aber trotzdem ging es durch OHNE Pwd-abfrage..... :o