|
Sigurno ste cesto
pozeleli da, na Vasoj web-lokaciji, ogranicite pristup posetiocima – da
napravite Folder (ili vise njih) „strogo privatnim“, lokacijama za „odabranu
klijentelu“, do kojih ce pristup imati samo „probrani i odabrani“. ;-)
Naravno, odmah ste se suocili sa problemom: kako to da uradim, a da „nepozvani“
ne mogu tako lako (a najbolje-nikako) da razbiju user-name i password, jer cemu
onda ceo trud…? Zbog toga ste vrlo brzo odbacili resenje sa nekom od JavaScripti,
jer se iskljucivanjem Jave u vasem browser-u lako prevladava prepreka zvana
„password-oblast“…
…i tako ste, nakon mnogih bezuspesnih pokusaja, i lutanja, dosli do resenja koje
se zove – htaccess! Bravo! Sada ste „na konju“, i mozete da zapevate; resili ste
problem…ili, mozda, i niste?
Onima koji jesu – cestitamo; svima ostalima pokusacemo da pojasnimo kako to oni
sami brzo,
kvalitetno i pouzdano da urade.
1.
Za htaccess na apache serveru nam trebaju, pre svega (zu Folder koji cete time
zastiti) dva fajla: „htaccess“-fajl i „htpasswd“-fajl.
A)
„htaccess“ se pravi u najobicnijem text-editoru (na primer, u notepad-u, jer je
to obican ascii-fajl), na sledeci nacin:
Napisite ovo u notepad-u:
**************************
AuthName "Vas Members Only Access" <=======ovde dajte ime koje hocete
AuthType Basic
AuthUserFile /www/mysite/secrets/user/.htpasswd <========ovo je putanja do Vaseg
htpasswd-file-a
Require valid-user
****************************
i onda sve to memorisite (save-ujte) kao “.htaccess” (bez znaka navodnika).
B)
“htpasswd” se takodje pravi u text-editoru ali ne tako sto cete u fajl upisati
vase zeljene username i password nego na sledeci nacin:
Posto htaccess radi sa kriptovanim sadrzajem, potrebno je podatke koje cete
ubaciti u htpasswd prehodno da kriptujete! Na koji nacin?
Imate vise mogucnosti. Jedna od njih (recimo, i najlaksa) je da odete na http://mirage.golden.net/generator i da tu kriptujete
Vase podatke. S njima, posle, popunite Vas „htpasswd“-fajl, i
sve to memorisite kao „.htpasswd“ (ne zaboravite tacku pre imena!!).
Taj .htpasswd fajl bi sada izgledao nekako ovako:
* * * * * * *
nenad:90XmOcFu5bCAk
ana:16KOgN/JZkI..
marina:50/sE59wahjPU
jovan:672qXji0MU.wU
* * * * * *
Da ponovimo:
da pravilno ispunite svoj htpasswd-fajl nije dovoljno samo da u njega upisete (na
primer, za korisnika Ana, sa passwordom dobrariba) “ana:dobrariba” (bez znaka
navoda), nego taj njen password trebate, pre upisa u fajl, obavezno i da
kriptujete!!
2.
Sad, kad prebacujete ta dva fajla na server, vodite racuna o tome da ih
prebacujete u ascii a ne u binarnom modu, i da ih chmod-ujete (na serveru) u
CHMOD 644 (RW-R-R), ukoliko vec nisu 644.
Znaci, na ovaj nacin ce vam sada biti zasticen Folder u kome se nalazi
htaccess-fajl (tacnije, “.htaccess”-fajl), kao i svi njegovi podfolderi.
Mozete dodavati toliko korisnika koliko pozelite, samo vodite racuna o tome da
pre nego sto upisete novog korisnika sa njegovim password-om, kriptujete (njegov)
password.
B)
Da ne biste stalno odlazili na gornji URL, a i radi komotnijeg rada, skinite sa
adrese ftp://ftp.bnsi.net/pub/apache programcic htpasswd (koji je u obliku “htpasswd.exe”),
kojim cete od sada moci i sami, na svom kompjuteru, da kriptujete podatke za Vas
htaccess-fajl.
Uzmimo da vam je novi user neko pod imenom “stefan”, i da ste za njega predvideli
isti takav password (tj “stefan”):
Pokrenete htpasswd.exe u folderu gde pravite htaccess-fajl (na primer, na C, u
Folderu "Lada") i kucate u DOS-u sledece:
C:\Lada>htpasswd -cb .htpasswd stefan stefan
gde je C:\Lada> Vasa lokacija; htpasswd je program kojim pravimo novi fajl;
-c znaci novi fajl; -b dodavanje novog user-a (ali kad stoji sa c onda crtica ide
samo ispred prvog slova funkcije, tj ovde ispred c); „.htpasswd“ je fajl u kome
cemo cuvati nase passworde za zasticenu oblast (ali vi mozete da joj date i bilo
koje drugo ime; bitno je samo da ispred njegovog naziva, prilikom memorisanja,
stavite tacku!); prvo stefan je user, drugo je lozinka...
Znaci, na Vasem monitoru, Vi bi trebali da vidite nesto ovako:
* * * * * * *
C:\Lada>htpasswd -b .htpasswd tester tester
Automatically using MD5 format on Windows.
Adding password for user 1o1
* * * * * * *
i posle toga
mozete da dodajete korisnike (users) po volji. Neka nam je sledeci user, na
primer, buzda...
Sada, kada preko notepad-a otvorimo taj “.htpasswd”-fajl videcemo nesto ovako:
* * * * * * * * *
stefan:$apr1$ue4.....$GBOIMwZQCFkyQX2PySpNY.
buzda:$apr1$si4.....$Qv4wua9kQLsvqLldOfNN8.
* * * * * * * *
Obratite paznju da su kako .htaccess tako i .htpasswd skriveni fajlovi, koje ne
mozete da vidite preko “obicnog” FTP-a, i da bi ih obrisali moracete da zamolite
administratora sajta da to uradi za Vas…
...ili, ako ste nestrpljivi:
- nabavite “TotalCommander”, jer
on ima mogucnost da ga podesite tako da pokazuje i skrivene fajlove koji se
nalaze na Vasem serveru! (gornja komandna linija <====== cetvrti s leva “Net”
<==== FTP show hidden files!! – koji morate da aktivirate pre nego sto se
nakacite na Vas server).
- nabavite "smartFTP", i
podesite opciju da vam prikaze sve fajlove.
3.
Vi ste "sve uradili kako smo vas savetovali", ali - kod Vas htaccess ne radi?!
Mnogo bi razloga moglo da bude za to (od onoga da niste "bas sve" uradili kako
treba), ali je najcesci razlog - pogresan path do vaseg htpasswd-fajla. Jer, ne
zaboravite da "pravi" path nije onaj koji vi otkucate u browseru, inace bi posao
hackerima bio vise nego olaksan.
Najbolji nacin da pronadjete pravi path (put) tj njegovu "adresu" je da uradite
sledece:
A)
Prvi nacin: snimite (kao "test.php") i postavite na server, u zeljenu direkciju,
test.php, i pozovite ga preko borowsera.
Na primer: http://www.127.0.0.1/1o1/test.php (ukoliko je scripta u root
direkciji) i pogledajte pod SERVER["SCRIPT_FILENAME"] koji je pun path do Vaseg
htpasswd-fajla. Sada cete znati sta da upisete kao punu adresu u htpasswd-fajl!
;-)
Kod za ovu "scriptu istine" je:
* * * * * * * * * * * * * * * * * * *
<HTML>
<HEAD>
<TITLE>test PHP Script</TITLE>
</HEAD>
<BODY>
<?PHP
phpinfo();
?>
</BODY>
</HTML>
* * * * * * * * * * * * * * * * * * *
B)
Drugi nacin je ponesto slican, samo je kod u scripti nesto drugaciji.
Kod za drugu scriptu:
* * * * * * * * * * * * *
<?php
$path=$_SERVER["PATH_TRANSLATED"];
$filename=basename($path);
$path=str_replace($filename, "YOUR FILE NAME HERE", $path);
$path=str_replace(chr(92), "/", $path);
echo "<br>".$path."<br>";
?>
* * * * * * * * * * * * *
Ovo snimite kao "find_path.php" i postavite u direkciju gde zelite da Vam se .htpasswd
nalazi.
...pa kad u browseru otkucate: http://127.0.0.1/1o1/find_path.php - dobicete
punu adresu Vaseg Foldera, onog na serveru (ovde je 127.0.0.1 adresa na
localhostu i Vi cete, umesto nje, naravno, da upisete adresu Vaseg hosta).
Nadamo se da ce Vam ovo koristiti!
Tim 1o1 |