Htaccess-beveiligde mappen: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
 
(16 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 5: Regel 5:
 
=== Bepaal pad naar .htpasswd-bestand ===
 
=== Bepaal pad naar .htpasswd-bestand ===
  
Alle wachtwoorden worden in één .htpasswd-bestand opgeslagen, dat bij voorkeur ''buiten'' de boom staat wat door de webserver geserveerd wordt. Wat ik gebruik:
+
Alle wachtwoorden worden in één .htpasswd-bestand opgeslagen, dat bij voorkeur ''buiten'' de boom staat wat door de webserver geserveerd wordt.  
  
/var/.htpasswd
+
Locatie die ik hanteer:
  
=== Genereer hash ===
+
/var/www/.htpasswd
  
Ga naar http://www.tools.dynamicdrive.com/password/ en vul in:
+
=== Kies loginnaam & wachtwoord ===
  
* Gebruikersnaam & wachtwoord
+
Meestal kies ik een standaard loginnaam en wachtwoord, omdat ik deze manier van beveiliging doorgaans alleen gebruik om Google buiten de deur te houden.
* Pad naar .htpasswd-file
 
* ''File names to protect'' → Overslaan
 
  
Vervolgens wordt een ''.htaccess'' en een ''.htpasswd''-bestand gegenereerd.
+
=== Genereer hash ===
  
=== Voeg wachtwoord toe aan .htpasswd ===
+
* Ga naar http://www.tools.dynamicdrive.com/password
 +
* Vul in: Gebruikersnaam & wachtwoord, klik op ''Submit''
 +
* In het veld <code>.htpasswd</code> verschijnt een regel met zoiets als <code>welcome:vDQWD2ZSKoUHk</code>
 +
* Kopiëer deze regel naar het clipboard.
  
Als er al een <code>.htpasswd-bestand</code> is: De gegenereerde regel toevoegen. Anders een nieuw bestand aanmaken met die ene regel als inhoud (zie elders voor details).
+
=== Voeg hash-regel toe aan .htpasswd ===
  
Dit is een voorbeeld van een .htpasswd-bestand met twee loginnaam-wachtwoord-combinaties:
+
Voeg de nieuwe hash-regel toe aan het <code>.htpasswd</code>-bestand, of maak eerst een nieuw leeg bestand aan.
 +
 
 +
Voorbeeld van een .htpasswd-bestand met drie hash-regels:
  
 
<pre>
 
<pre>
 
testsite:vP1G4AlavcJho
 
testsite:vP1G4AlavcJho
 
wittekippen:./FRbXa69pKmk
 
wittekippen:./FRbXa69pKmk
 +
welcome:vDQWD2ZSKoUHk
 
</pre>
 
</pre>
  
Als je voor meerdere sites dezelfde loginnaam-wachtwoord-combinaties gebruikt (dat heb ik vaak, omdat ik alleen een simpele drempel behoef), dan heb je maar één regel in het .htpasswd-bestand.
+
* Merk op dat elke hash-regel van toepassing is op elke site!
 +
* Als je voor meerdere sites dezelfde loginnaam-wachtwoord-combinaties gebruikt (dat heb ik vaak, omdat ik alleen een simpele drempel behoef), dan heb je maar één regel in het .htpasswd-bestand nodig
 +
* Wil je niet dat hash-regels op meerdere sites van toepassing zijn: Gebruik dan per site een apart <code>.htpasswd</code>-bestand.
  
=== .htaccess-bestand aanmaken ===
+
=== Creëer .htaccess-bestand ===
  
Maak een ''.htaccess''-bestand aan in de ''root'' van de betreffende site (bv. <code>/var/www/example.com/.htaccess</code>) met deze inhoud:
+
Maak een ''.htaccess''-bestand aan in de ''root'' van de betreffende site (bv. <code>/var/www/example.com/.htaccess</code>). Voorbeeld:
  
 
<pre>
 
<pre>
 
AuthName "I am so glad that you are here"
 
AuthName "I am so glad that you are here"
 
AuthType Basic
 
AuthType Basic
AuthUserFile /var/.htpasswd
+
AuthUserFile /var/www/.htpasswd
 
require valid-user
 
require valid-user
 
</pre>
 
</pre>
Regel 61: Regel 67:
 
</pre>
 
</pre>
  
== Deny from all (feb. 2019) ==
+
== Ongedaan maken ==
  
In 2019 had ik een onwillige WordPres-Updraft-map. Daarin stond een .htaccess-bestand met alleen de tekst <code>deny from all</code>.
+
.htaccess-beveiliging ongedaan maken?
  
Wellicht zou [https://stackoverflow.com/questions/9507645/htaccess-deny-from-all dit] beter zijn geweest (apache 2.2):
+
Open het .htaccess-bestand en commentariseer de betreffende regels uit - Of verwijder ze.
  
<pre>
+
== Deny from all (feb. 2019) ==
order deny,allow
 
deny from all
 
allow from 127.0.0.1
 
</pre>
 
  
Of misschien dit voor Apache 2.4?
+
→ [[Htaccess | .htaccess]]
 
 
<pre>
 
Require local
 
</pre>
 
  
 
== Bronnen ==
 
== Bronnen ==

Huidige versie van 19 jun 2023 om 19:25

Regelmatig maak ik gebruik van .htaccess om mappen met een wachtwoord te beveiligen. Het doel is om bots buiten de deur te houden, en om een eenvoudige privacy-gerelateerde drempel op te werpen. Dit artikel is beperkt tot deze use case.

Hoe het werkt

Bepaal pad naar .htpasswd-bestand

Alle wachtwoorden worden in één .htpasswd-bestand opgeslagen, dat bij voorkeur buiten de boom staat wat door de webserver geserveerd wordt.

Locatie die ik hanteer:

/var/www/.htpasswd

Kies loginnaam & wachtwoord

Meestal kies ik een standaard loginnaam en wachtwoord, omdat ik deze manier van beveiliging doorgaans alleen gebruik om Google buiten de deur te houden.

Genereer hash

  • Ga naar http://www.tools.dynamicdrive.com/password
  • Vul in: Gebruikersnaam & wachtwoord, klik op Submit
  • In het veld .htpasswd verschijnt een regel met zoiets als welcome:vDQWD2ZSKoUHk
  • Kopiëer deze regel naar het clipboard.

Voeg hash-regel toe aan .htpasswd

Voeg de nieuwe hash-regel toe aan het .htpasswd-bestand, of maak eerst een nieuw leeg bestand aan.

Voorbeeld van een .htpasswd-bestand met drie hash-regels:

testsite:vP1G4AlavcJho
wittekippen:./FRbXa69pKmk
welcome:vDQWD2ZSKoUHk
  • Merk op dat elke hash-regel van toepassing is op elke site!
  • Als je voor meerdere sites dezelfde loginnaam-wachtwoord-combinaties gebruikt (dat heb ik vaak, omdat ik alleen een simpele drempel behoef), dan heb je maar één regel in het .htpasswd-bestand nodig
  • Wil je niet dat hash-regels op meerdere sites van toepassing zijn: Gebruik dan per site een apart .htpasswd-bestand.

Creëer .htaccess-bestand

Maak een .htaccess-bestand aan in de root van de betreffende site (bv. /var/www/example.com/.htaccess). Voorbeeld:

AuthName "I am so glad that you are here"
AuthType Basic
AuthUserFile /var/www/.htpasswd
require valid-user

Hostconfiguratie-bestand moet correct zijn

In het bestand waarin je voor Apache een domeinnaam specificeert, moet toegestaan worden dat je middels .htaccess mappen beveiligt. Ik geloof dat het gaat om de regel Require all granted:

<Directory /home/flup/public/example.com/public>

   AllowOverride All
   Require all granted
   RewriteEngine on
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

</Directory>

Ongedaan maken

.htaccess-beveiliging ongedaan maken?

Open het .htaccess-bestand en commentariseer de betreffende regels uit - Of verwijder ze.

Deny from all (feb. 2019)

.htaccess

Bronnen