Как поставить пароль на php страницу
Надо сделать, чтобы при первом заходе на страницу ad.php показывалась форма введите пароль, если ввел то отображает мой скрипт.
else < header("Location: ad.php"); >> elseif (!isset($_SESSION[‘access’])) < ?> ?> здесь мой скрипт то что я увижу если введу пароль 123 но проблема в том что сессия не держится, сразу после перезагрузки снова внужно вводить пароль
Похожие статьи
- Как вы храните свои пароли?
- Защитить паролем через .htaccess URL сайта
- Генерация паролей
- Как сделать общий доступ к папке в сети по паролю?
- Пароль на приложение в Delphi
- Шифруем файл с помощью другого файла в delphi
Доступ на сайт по паролю. 5 строк кода
В этот статье поговорим об том, как сделать доступ к сайту или отдельной директории по паролю.
В чем суть: мы создадим 2 файла: в первом код для блокировки сайта с ссылкой на 2 файл, в котором лежат логины и пароли для доступа. В первом файле мы должны указать абсолютный путь до второго:
.htaccess — файл дополнительной конфигурации веб-сервера Apache.
.htpasswd — файл для указания логинов и паролей для доступа.
Расположение этих файлов будет зависеть от того, к какой директории вы хотите закрыть доступ.
Закрыть доступ ко всему сайту
Файл .htaccess должен находится в корневой папке сайта, .htpasswd лучше положить в какую-то из директорий, чтобы до него нельзя было так просто добраться — там будут лежать логины и пароли для доступа. Предлагаю положить его в директорию /folder.
Получается такая структура:
В файл. htaccess вставляем код:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /.htpasswd
Require valid-user
AuthName — текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки. Попробовал, у меня эта надпись нигде не показывается.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать первый, т.к. второй поддерживается не всеми браузерами.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, это необходимо, чтобы предотвратить кражу паролей.
require valid-user — директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.
В строке AuthUserFile вставляете путь, который получился у вас в файле test. php
Для того чтобы узнать абсолютный путь к файлу, создаем в директории с файлом. htpasswd файл test. php, в нем экранируем переменную:
Теперь нам нужно открыть этот файл в браузере.
ваш-сайт.ru/folder/test.php, подставите адрес своего сайта.
У меня на выходе получилась такая строка
/home/d/danpossv/portfolio_v2/public_html/works/sneakers-html/folder
Вставляем ее в код и получаем:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /home/d/danpossv/portfolio_v2/public_html/works/sneakers-html/folder/.htpasswd
Require valid-user
После того как вы узнали абсолютный путь до директории, удалите этот файл, он больше не нужен.
Теперь нам нужно создать зашифрованный пароль. Для этого перейдем по ссылке на генератор паролей.
Заполняем необходимые данные в форме и нажимаем кнопку«сгенерировать»:
Скопируем получившуюся строку и вставим в файл. htpasswd:
Строка означает — логин: пароль в зашифрованном виде. Для доступа на сайт нам нужно вводить тот логин и пароль, который мы указывали в генераторе, то есть admin и password.
Что мы имеем в итоге:
- файл .htaccess лежащий в корне сайта с 4 строками кода и путем к файлу с логинами и паролями
- файл .htpasswd с логином и паролем
Теперь мы можем заходить на сайт и должны увидеть такое окно:
После ввода данных на откроется главная страница сайта. Если же будет ошибка в вводимых данных, либо мы получим 404 ошибку, либо страница перезагрузится и снова появится форма ввода данных.
Закрыть доступ к директории
Разница между этими способами в том, что файл. htaccess нужно поместить в ту директорию, которую вам необходимо закрыть:
Файл .htaccess вы можете разместить в любом месте, вы уже научились узнавать его абсолютный путь. В данном случае можно просто скопировать путь из файла. htaccess корневой папки.
Спасибо за прочтение статьи! Если у вас возникнут какие-то вопросы, трудности, пишите мне на почту, в личку в вк, в комментариях, по возможности помогу!
Доступ на сайт по паролю. 5 строк кода
В этот статье поговорим о том, как сделать доступ к сайту или отдельной директории по паролю.
В чем суть: мы создадим 2 файла: в первом код для блокировки сайта с ссылкой на 2 файл, в котором лежат логины и пароли для доступа. В первом файле мы должны указать абсолютный путь до второго:
.htaccess — файл дополнительной конфигурации веб-сервера Apache.
.htpasswd — файл для указания логинов и паролей для доступа.
Расположение этих файлов будет зависеть от того, к какой директории вы хотите закрыть доступ.
Закрыть доступ ко всему сайту
Файл .htaccess должен находится в корневой папке сайта, .htpasswd лучше положить в какую-то из директорий, чтобы до него нельзя было так просто добраться — там будут лежать логины и пароли для доступа. Предлагаю положить его в директорию /folder.
Получается такая структура:
В файл. htaccess вставляем код:
AuthType Basic AuthName "Protected Area" AuthUserFile /.htpasswd Require valid-user
AuthName — текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки. Попробовал, у меня эта надпись нигде не показывается.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать первый, т.к. второй поддерживается не всеми браузерами.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, это необходимо, чтобы предотвратить кражу паролей.
require valid-user — директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.
В строке AuthUserFile вставляете путь, который получился у вас в файле test. php
Для того чтобы узнать абсолютный путь к файлу, создаем в директории с файлом. htpasswd файл test. php, в нем экранируем переменную:
Теперь нам нужно открыть этот файл в браузере.
ваш-сайт.ru/folder/test.php, подставите адрес своего сайта.
У меня на выходе получилась такая строка
/home/***/works/sneakers-html/folder
Вставляем ее в код и получаем:
AuthType Basic AuthName "Protected Area" AuthUserFile /home/***/works/sneakers-html/folder/.htpasswd Require valid-user
После того как вы узнали абсолютный путь до директории, удалите этот файл, он больше не нужен.
Теперь нам нужно создать зашифрованный пароль. Для этого перейдем по ссылке на генератор паролей.
Заполняем необходимые данные в форме и нажимаем кнопку « сгенерировать»:

Скопируем получившуюся строку и вставим в файл. htpasswd:

Строка означает — логин: пароль в зашифрованном виде. Для доступа на сайт нам нужно вводить тот логин и пароль, который мы указывали в генераторе, то есть admin и password.
Что мы имеем в итоге:
- файл .htaccess лежащий в корне сайта с 4 строками кода и путем к файлу с логинами и паролями
- файл .htpasswd с логином и паролем
Теперь мы можем заходить на сайт и должны увидеть такое окно:

После ввода данных на откроется главная страница сайта. Если же будет ошибка в вводимых данных, либо мы получим 404 ошибку, либо страница перезагрузится и снова появится форма ввода данных.
Закрыть доступ к директории
Разница между этими способами в том, что файл. htaccess нужно поместить в ту директорию, которую вам необходимо закрыть:

Файл .htaccess вы можете разместить в любом месте, вы уже научились узнавать его абсолютный путь. В данном случае можно просто скопировать путь из файла. htaccess корневой папки.
Будьте внимательны
Любое несоответствие кода в .htaccess или неправильный путь до файла приведут к ошибке « 500 Internal Server Error». Если это произошло — сверяйте код в файле .htaccess
У меня выкидывало ошибку из-за отсутствия « /» в начале пути.
Видеоурок
Спасибо за прочтение статьи! Если у вас возникнут какие-то вопросы, трудности, пишите мне на почту, в личку в вк, в комментариях, по возможности помогу!
Итоговый код файлов
AuthType Basic AuthName "Protected Area" AuthUserFile /home/***/works/sneakers-html/folder/.htpasswd Require valid-user
.htpasswd, логин и пароль. Генерировать тут. В коде пример рандомного логина и пароля
postnov:XVLbicy4CMxUE
Примечания
Если нужно, чтобы пароль запрашивался каждый раз и его нельзя было его « запомнить». Вставьте в файл htaccess строку « AuthBasicProvider file».
Apache — пароль на доступ
Чтобы задать пароль на доступ к сайту или его частям, если сайт работает на Apache:
Конфиг Apache
Редактируем файл конфигурации Apache:
# nano /etc/apache2/apache2.conf
.
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
.
где AllowOverride All включает поддержку .htaccess файлов, с помощью которых можно управлять настройками каталогов, редиректами, доступом и др.
# systemctl restart apache2.service
Файл паролей
Создаем файл паролей для Apache с помощью утилиты htpasswd.
# apt update
# apt install apache2-utils
Опции htpasswd:
-c — создать новый файл (перезаписать, если старый существует)
-B — шифрование пароля с помощью bcrypt
# htpasswd -c -B /etc/apache2/.htpasswd user1
New password:
Re-type new password:
Adding password for user user1
Добавляем еще одного пользователя:
# htpasswd -B /etc/apache2/.htpasswd user2
New password:
Re-type new password:
Adding password for user user2
Поменять пароль для пользователя:
# htpasswd -B /etc/apache2/.htpasswd user2
Содержимое файла .htpasswd:
# cat /etc/apache2/.htpasswd
user1:$2y$05$kVIWEWI1NHyVqGKp82ZjveZHvWomPCX8TDgnks5eUl89sxffCA3tO
user2:$2y$05$dWSJDUoJFMVhqYh33lmXw.jkOlV49/dx5mI/v8os8DMTGaDIaSXs6
Очевидно, этот файл надо держать в секрете в недоступном для посетителей сайта месте!
.htaccess
Создаем файл .htaccess в директории сайта, которую планируем защитить паролем:
AuthName «Auth required»
AuthType Basic
Require valid-user
AuthUserFile /etc/apache2/.htpasswd
Теперь для доступа к директории sarg будет нужно указать логин и пароль.
Естественно, этот вид защиты не защищает паролем файлы при локальном доступе, а только не дает открыть эту директорию через сайт.
Авторизуйтесь для добавления комментариев!

Почтовый сервер Mikrotik VPN 3proxy Шифрование Squid Резервное копирование Защита почты Виртуальные машины Настройка сервера java kvm Групповые политики SELinux OpenVPN IPFW WDS Lightsquid Samba firewalld systemd Mobile libvirt Remote desktop WiFi Iptables NAT Postfix Dovecot Удаление данных Софт Безопасность Winbox User agent Хостинг Передача данных Онлайн сервисы Privacy LetsEncrypt VPN сервер Настройка прокси RRDTool sendmail Rsync Linux SSH Система Windows Синхронизация Облако fail2ban FreeBSD
