Понякога става необходимо защитата с парола на достъп до всички страници на сайта или само до определена област от него. Механизмът, който позволява на посетителите да имат достъп до страници чрез вход и парола, се нарича „упълномощаване“. Как да организираме упълномощаването без познаване на какъвто и да е език за програмиране?
Инструкции
Етап 1
Най-лесният начин да блокирате достъпа до сайт с парола е да използвате вградените инструменти на уеб сървъра, който хоства сайта. Настройките на сървъра на Apache са такива, че ако във всяка папка на сървъра има файл с име ".htaccess", тогава при заявяване на документ от тази папка (например уеб страница), Apache ще следва правилата, съдържащи се в файла.htaccess. Този файл може също да съдържа директиви за ограничаване на достъпа до всички или само до някои от документите в тази папка. Ще използваме този механизъм Стъпка 1: Създаване на.htaccess файл Най-лесният начин за създаване на празен файл с име.htaccess е в обикновен текстов редактор - Notepad. Така че, когато записвате файл, бележникът не добавя автоматично разширението txt, в падащия списък "тип файл" на диалоговия прозорец за запис изберете "Всички файлове". Директивите, които трябва да бъдат написани в.htaccess, може да изглеждат като това: AuthType Basic
AuthName "Ограничена зона!"
AuthUserFile /usr/host/mysite/.htpasswd
изискват валиден потребител Първият ред (AuthType Basic) казва на сървъра, че е необходимо оторизирането на посетителите. Вторият (AuthName "Забранена зона!") указва текста, който да се показва във формуляра за въвеждане на вход и парола. Третият (AuthUserFile /usr/host/mysite/.htpasswd) показва пътя към файла, в който се съхраняват разрешените входни данни и пароли. Тук трябва да се посочи „абсолютният път“, тоест от самата коренна директория на сървъра, указвайки цялото дърво на директориите. Това е същият пълен път, който виждаме в адресната лента на Windows Explorer, когато отваряме папка. На сървърите за хостинг на сайтове обикновено изглежда /pub/home/account_name/…/file_name. Пътят от корена на сървъра до вашия сайт може да бъде намерен в административния панел на сайта или като поискате техническата поддръжка на вашия хостинг. Можете да разберете сами, но това ще изисква използването на някакъв език за програмиране - например в PHP това може да бъде получено от резултатите от командата phpinfo (). Четвъртият ред (изисква valid-user) означава, че нищо но въвеждането на правилното потребителско име и парола за достъп до документи в тази директория не е необходимо. Всъщност можете да разделите посетителите на групи и да дадете на различни групи различни права за достъп до различни папки.
Стъпка 2
Стъпка 2: Създаване на.htpasswd файл Сега трябва да създадете файл с парола, пътят към който сме посочили в htaccess. По подразбиране му се дава името ".htpasswd", въпреки че това не е задължително - можете да посочите друго име. Този файл съхранява двойки вход-парола и паролата се съдържа в криптирана емисия. За да шифровате паролата, ще трябва да използвате специална програма - htpasswd.exe. Ако нямате инсталиран сървър Apache на вашия компютър, можете да го вземете например тук - https://www.intrex.net/techsupp/htpasswd.exe. Трябва да го стартирате от командния ред. В Windows XP го правя по следния начин: поставете htpasswd.exe в отделна папка, щракнете с десния бутон върху папката и изберете "Стартиране на командния ред тук" от менюто. В командния ред въведете: htpasswd -cm.htpasswd admin Тук
htpasswd е името на програмата, която трябва да се изпълни;
-cm е модификатор, който показва, че трябва да се създаде нов файл с парола;
.htpasswd е името на този нов файл;
admin е входът на първия потребител, който е добавен към файла. След натискане на Enter, ще бъдете подканени да въведете и повторите паролата за този потребител. Когато паролата бъде въведена и потвърдена,.htpasswd файлът, от който се нуждаем, ще бъде създаден в папката с една двойка потребителско име - парола. За да добавите повече потребители, трябва да стартирате htpasswd.exe отново, но вместо модификатора -cm, посочете само -m. Можете също да видите помощта в командния ред. от htpasswd.exe - за това трябва да напишете: htpasswd.exe /?
Стъпка 3
Стъпка 3: качете файлове на сървъра. Остава само да поставите двата създадени файла (.htaccess и.htpasswd) на сървъра. Това може да стане с всеки ftp клиент или чрез файловия мениджър в административния панел на вашия сайт. Файлът Htaccess се поставя в папката, където се съхраняват страниците, които трябва да защитите с парола. Не само файловете от тази папка ще бъдат защитени, но и всички папки, вложени в нея. И поставете файла.htpasswd в папката, пътят до която е посочен в htaccess. Обикновено файлът с парола се съхранява в папка на едно ниво над главната директория на сайта, така че да няма директен достъп до него от Интернет.