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.

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ó.

Könyvtár adatvédelme menü a cPanelen - hostit.hu

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.