Guide: Skjul mapper fra filsystemet i apache2

Få hjælp og support til alt server-relateret. Guides og How-to's i forbindelse med servere hører også til her.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Guide: Skjul mapper fra filsystemet i apache2

Indlæg af NickyThomassen »

Jeg har Wordpress på min private hjemmeside, og da jeg alligevel har opgraderet serveren, tænkte jeg at jeg ville prøve Wordpress' Subversion til opdateringer i fremtiden. Det efterlader jo så 2 .svn mapper, én for hovedfilerne og én for sprogfilerne, som er delvist synlige fra nettet. Ved at bruge DirectoryMatch kan de dog nemt fjernes, ved at give en standard 403 - Forbidden - som svar

Kode: Vælg alt

<DirectoryMatch /.svn>
  Order Deny,Allow
  Deny From All
</DirectoryMatch>

DirectoryMatch bruger automatisk RegExp matching på søgetermen, så for simpel mathing er der ingen grund til at gøre mere. Der findes også en FilesMatch, hvis det er enkeltfiler man er efter, ligesom en LocationMatch også kan bruges.

Projektet har en god side, som dækker kernefunktionerne
http://httpd.apache.org/docs/2.2/mod/core.html
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Guide: Skjul mapper fra filsystemet i apache2

Indlæg af lath »

Jeg mener at du ville kunne løse det på styresystem niveau.

Det gøres ved at have en almindelig mappe som ikke er en som web serveren viser. I den mappe har du også dine svn undermapper.
Hertil så en en anden mappe i samme partition (<- dette er vigtigt) som førnævnte mappe, der er webserverens dokument root.

Herefter etableres så hardlinks (med ln kommandoen) for mapperne inde i svn mappen ind i document root mappen.
Web serveren har nu ikke længere de 2 .svn mapper i document root mappen, da de 2 .svn mapper ikke er synlige i document root mappen.

Det lyder lidt som du har en lidt mere kompleks filstruktur. Du gør så bare det at du opretter tomme filmapper i document root mapper og inde i de mapper hardlinker du så til den/de tilsvarende mappe/mapper der ligget et niveau under svn hoved-/root- mappen.

Overnævnte kræver nok også en chroot for at være helt usynlig for web serveren.
Et andet alternativ er at bruge FreeBSD (et BSD styresystem): http://www.freebsd.org/ og de mere avancerede jails: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Guide: Skjul mapper fra filsystemet i apache2

Indlæg af lath »

403 - Forbidden

Det problematiske ved at sende den besked er at det lækker information om at du rent faktisk har en .svn mappe - det er bedre at fortælle "404 Not Found", altså at påstå at den ressource slet ikke findes, selv om det rent faktisk er tilfældet.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Guide: Skjul mapper fra filsystemet i apache2

Indlæg af AJenbo »

Strukturen er noget i retningen af:

Kode: Vælg alt

www
|-- wp-admin
|    |-- include
|    |    |-- php
|    |    |    |-- class.php
|    |    |    +-- .svn
|    |    |         +-- hemmelige filer
|    |    |-- settings
|    |    |    |-- config.php
|    |    |    +-- .svn
|    |    |         +-- hemmelige filer
|    |    +-- .svn
|    |         +-- hemmelige filer
|    |-- admin.php
|    +-- .svn
|         +-- hemmelige filer
|-- index.php
+-- .svn
   +-- hemmelige filer

Dvs at alle mapper indeholder en .svn mappe, så du ville skulle oprette den samme mappe struktur manuelt og der efter linke til alle filer individuelt for at undgå .svn mapperne.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Guide: Skjul mapper fra filsystemet i apache2

Indlæg af NickyThomassen »

Men det er rigtigt at en 403 - Forbidden - fortæller noget om serveren, som man måske gerne ville holde hemmeligt.

Det er muligt at ændre 403 til 404 ved at erstatte

Kode: Vælg alt

<DirectoryMatch /.svn>
  Order Deny,Allow
  Deny From All
</DirectoryMatch>

med

Kode: Vælg alt

RedirectMatch 404 /.svn


Jeg bruger den samme teknik til favicon.ico, da jeg alligevel ikke bruger det. Men da Wordpress har et 404 error document med søgefunktion og det hele, så sender jeg en "tom" 404, i stedet for Wordpress' 404:

Kode: Vælg alt

Redirect 404 /favicon.ico
<Location /favicon.ico>
  ErrorDocument 404 "No favicon"
</Location>
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Guide: Skjul mapper fra filsystemet i apache2

Indlæg af AJenbo »

Bare de mange mapper ved svn er bare en grund til at bruge git i stedet, men hastigheden og branching gør det bestemt også til et bedre system.