Drupal regisztrációs oldal htaccess védelme
Mi célt szolgál?
Drupal oldalunkat esetenként robotok vagy rosszindulatú harmadik fél látogathatja. Előfordulhat, hogy drupal oldalunkon felhasználói fiókot regisztrál és a fiók regisztrációval okoz kellemetlenséget más regisztrált felhasználóknak vagy az oldal üzemeltetőjének a regisztrációról szóló értesítő e-mailek sokaságával.
Amennyiben nincs szükségünk regisztrált felhasználókra oldalunkon, tiltsuk le a regisztráció lehetőségét!
Azonban olyan eset is lehetséges, hogy szűkebb ismerettségi körben meg szeretnénk hagyni a regisztráció lehetőségét, de csökkentenénk a fölösleges adminisztrációt. Ezt elősegítheti valamilyen captcha alkalmazása a regisztrációs oldalon vagy a címben jelzett htaccess védelem, amely Apache webkiszolgálóknál használható funkció.
A szükséges .htaccess beállítás
Ahhoz, hogy az apache webkiszolgáló felhasználónevet és jelszót kérjen egy adott oldal megtekintéséhez és a megfelelő azonosítási információk megadása után megjelenítse az oldalt, két fájl szükséges általában.
Az egyik a .htaccess fájl, amely meghatározott feltételek esetén megjeleníti a jelszó bekérő ablakot, amely tartalmazza a rövid szöveget és a két beviteli mezőt a felhasználónévnek és a jelszónak.
A másik többnyire .htpasswd néven nevezett fájl, amely a felhasználónevet és kódolt jelszót tartalmazza:
felhasznalonev:kodoltjelszo
formában. Több sorban több felhasználó és jelszava adható meg.
A Drupal esetében a regisztrációs link azöndomaineve/user/register linken érhető el alapértelmezés szerint. Ahhoz, hogy ehhez a linkhez a Drupal jelszót kérjen, létre kell hoznunk egy .htpasswd fájlt és hivatkozni rá a .htaccess fájlunkban. Általánosságban így:
<If "%{REQUEST_URI} =~ m#\/user\/register#">
AuthType Basic
AuthName "jelszo megadasa szukseges"
AuthUserFile "/valasztotteleresiut/.htpasswd"
Require valid-user
</If>
A .htpasswd fájlhoz felhasználónevet és kódolt jelszavát Linux/Unix rendszereken a htpasswd programmal készíthetjük el így:
htpasswd -nb felhasznalonev kodo1tjelsz0
A parancs hatására megjelenik az a sor, amit be kell másolnunk a .htpasswd fájlunkba, amire hivatkozunk a .htaccess fájlban. A felhasználónév illetve a kodo1tjelsz0 helyére saját felhasználónevet és jelszót adjunk meg, utóbbihoz lehetőség szerint minél bonyolultabbat.
Drupal regisztráció link védelem cPanel, .htaccess
A cPanel lehetőséget biztosít meglévő mappák jelszavas védelmére. Azzal az eszközzel is létrehozható .htpasswd fájl. Ha nincs olyan mappánk, amit jelszóval védenénk, akkor hozzunk létre egyet például a public_html mappán belül a cPanel filekezelőjében. A példához a htpasswd-jelszavas mappát hoztuk létre.
Angolul Directory Privacy, a jelenlegi magyar fordításban a Fájlok / Könyvtár adatvédelme linken található meg a mappa jelszavas korlátozás funkció.

Tallózzuk a megfelelő mappát, pipáljuk be a Jelszavas védelem ehhez a könyvtárhoz opciót. Adjunk meg egy rövid, tetszőleges nevet, ez lesz majd a jelszó bekérő ablakban olvasható. Ezután kattintsunk a mentés gombra.

Ezután tudunk felhasználónevet és jelszót megadni, amit a korábbi példában a htpasswd paranccsal tehettünk meg. A felhasználónév és jelszó megadása után a mentés gombra kattintva létrejön a kívánt felhasználó, ami az adott mappába belépést lehetővé teszi.
Ahhoz, hogy drupal oldalunk ugyanezt a felhasználónevet és jelszót használhassa az alábbi kód elhelyezésére van szükség a drupal oldal .htaccess fájljában, ha a példában látható public_html/htpasswd-jelszavas mappához állítottunk be jelszót:
<If "%{REQUEST_URI} =~ m#\/user\/register#">
AuthType Basic
AuthName "jelszo megadasa szukseges"
AuthUserFile "/home/cpanelusernév/.htpasswds/public_html/htpasswd-jelszavas/passwd"
Require valid-user
</If>
A cpanelusernév helyére saját cpaneles felhasználónevünket írjuk. Amennyiben mindent helyesen adtunk meg, Drupal oldalunk ezután felhasználónevet és jelszót fog kérni még az előtt, hogy megjelenítené a Drupal regisztrációs oldalát. Mivel ez (vélhetően) nem ismert a spamküldő robotok számára, ezért kevesebb olyan regisztrációról szóló e-mailt fogunk kapni, amelyet jóvá kell majd hagynunk vagy elutasítanunk, hiszen a regisztrációig sem jutnak majd el.
2024.02.13.