Как запаролить php файл
Обновлено: 06.07.2024
Нужно как то закрыть доступ к файлу, чтобы он выполнял свои функции но не был доступен через браузер, т.е. сам файл выполняет ряд функций и так же в нем что-то типа админки, поэтому нужно его запаролить.
Админку мне видить не обязательно, главное чтобы она (админка) не была видна через браузер.
Это реально? Если да, то как это сделать?
У меня есть схожий файл, там админка запаролена с помощью
Можно поместить его в отдельный каталог и закрыть к нему доступ с помощью Deny from all или использовать AuthType Basic - будет запрашиваться пароль.
Если используется Apache.
вроде используется, .htaccess есть, значит используется, видимоА если его (каталог) закрыть с помощью Deny from all или использовать AuthType Basic, сам файл будет работать?
И какие строчки нужно прописать в .htaccess для Deny from all?
Файл будет доступен только на самом сервере, если в .htaccess прописать:
Order deny,allow
Deny from all
AuthType тоже прописывается в .htaccess
Пример:
Доступ разрешен по файлу .htpasswd для пользователей hacker и guest. Тип авторизации Basic.
Содержимое файла .htpasswd:
hacker:Захэшированный пароль
guest:Захэшированный пароль
Добавлено через 4 минуты
Логин и пароль через двоеточие, зашифрованный по системе MD5.
Для создания файла .htpasswd есть программа htpasswd.exe, поставляемая с сервером apache. Можно запустить эту программу с командой -cb .htpasswd login password (вместо login будет ваше имя пользователя, а вместо password - пароль).
Макс-Текс, а зачем программа, я так зашифровал в мд5 и сохранил файл как .htpasswd
Это работает или в htpasswd.exe есть другой сакральный смысл?
Просто я скачал эту программу, жму запустить, она моргает и все.
Добавлено через 2 минуты
У меня .htpasswd и .htaccess в одной директории, в той которую закрываю, нужно видимо не так, так как у меня пароль с логином (здесь: сайт *** запрашивает имя пользователя и пароль. Сайт сообщает: «Please enter your login and password») не проходит (
Это
У сервера apache есть возможность сделать базовую авторизацию. Чтобы закрыть директорию, в неё нужно поместить два файла – .htaccess и .htpasswd.
Содержание файла .htaccess
AuthUserFile /путь_до_директории/.htpasswd – путь до файла с паролями.
Чтобы узнать полный путь к директории достачно поместить в неё PHP файл и запустить его в браузере.
Авторизацией можно закрыть только определенные файлы, например архивы ZIP.
На некоторых хостингах авторизация на статические файлы (изображения, шрифты и т.д.) может не работать т.к. они отдаются через Nginx.
Стоит проверить прямой доступ к самим файлам .htaccess и .htpasswd из браузера, если да, то закрыть его:
Пароли в htpasswd
В файле хранится пары логина и хеша пароля, например:
Логин может содержать латинские буквы, цифры, - и _ , регистрозависимый.
Хеш можно сгенерировать в PHP, возможны следующие алгоритмы:
Bcrypt
В настоящее время считается очень безопасным, работает начиная с версии 2.4, формат:
$2y$ или $2a$ + результат алгоритма crypt_blowfish.
MD5 (APR)
Специфический алгоритм Apache (1000 итераций MD5 случайной соли и пароля), работает во всех версиях.
$apr1$ + результат алгоритма.
Работает только на Unix хостингах и до версии Apache 2.2.17. Ограничивает длину пароля до 8 символов. Считается небезопасным.
Этот алгоритм небезопасен по современным стандартам, работает во всех версиях.
+ результат SHA-1 (бинарная строка из 20-ти символов) закодированный в Base64.
Генератор htpasswd
Введите логин и пароль:
Авторизация и выход
Реквизиты доступа к закрытой директории можно передать в URL:
Если такие URL использовать в src изображений, скриптов и стилей, то работать они не будут, вызвав ошибку:
Завершение сеанса происходит по закрытию браузера, но не вкладки. Другого варианта не предусмотрено.
Взаимодействие с PHP
В PHP можно отследить авторизированного пользователя по переменным массива $_SERVER .
Если их нет, значит пользователь не авторизирован. Вывести диалог входа из PHP:
Нужно создать страницу авторизации, пароль должен высылаться администратором сайта
На этой странице мы должны войти на сайт или зарегистрироваться. Суть в том, что при регистрации.
Как поставить пароль на php страницу
Привет! У меня есть скрипт для добавления объявления код в файле ad.php может кто.
index.php
Что-то я запутался как всё собрать в работающую систему. Что-то я запутался как всё собрать в работающую систему. Всё очень просто. Сначала в index.php проверяется пароль,если верен-редирект на page2.php и заносим в сессию,что паротль верен. Чтобы нельзя было открыть page2.php провряем есть ли там переменная сессии и равна ли она тру. Если нет,то редирект обратно на index.php Я уже всю голову сломал!
Не получается у меня никак. Не пойму что к чему.
Я создал html-страницу с формой для передачи пароля. Куда он передаваться здесь будет
? Тут же нет пути никакого.
А если весь код index.php вставить, то пароль легко можно будет подглядеть в коде страницы.
Объясните, пожалуйста, поподробнее! Мне тяжело. Я не учился программированию вообще. Кое-какие знания только из интернета и из литературы.
UHSF, Делайте так, как сказал motakuji.
А если весь код index.php вставить, то пароль легко можно будет подглядеть в коде страницы. Полностью исключено. Переменную $pass видит только сервер. Безопасность - 100%. UHSF, Вы сами написали, в коде своей формочки method=POST. Видимо Вы слабо знакомы с тем как отправляются данные на сервер с форм. Метод POST говорит нам о том, что отправлять то что в полях формы невидимо от пользователя. То что вы написали <input type="text" name="paswd">, paswd - это и будет переменной, отправленной на сервер. Если у вас будет обработчиком формы файл например index2.php, то в этом файле вы смело сможете эту переменную вызывать получив её значение с глобального массива: $paswd = $_POST['paswd'];. Что-то типа того, думаю объяснил доходчиво.Берем код который написал добрый человек motakuji
И так, первый файлик:
page2.php
Добавлено через 6 минут
А если уж вы хотите сразу, тогда вот ВАм следующее, но советую разобраться, и сделать самому:
Данный способ достаточно прост, но в тоже время является очень надежным, при условии использования «нормального хостинга», так как данный тип защиты паролем через htaccess и htpasswd строится средствами сервера Apache.
Настройка защиты с помощью htaccess и htpasswd
Для работы нам необходимо несколько вещей:
- Доступ к сайту по FTP;
- Наличие прав на редактирование .htaccess ;
Для начала нам необходимо создать файл .htaccess. Проще всего это сделать с помощью обычного блокнота Windows. Нажимаем на рабочем столе правой кнопкой мыши, затем Создать — Текстовый документ. Открываем созданный текстовый документ, затем Файл — Сохранить как. Название меняем на .htaccess (точка перед названием обязательна!), тип файла «Все файлы» (иначе создастся .htaccess.txt).
Запускаем командную строку Пуск — Выполнить — cmd. Пишем cd C:/ , затем нажимаем Enter.
Теперь пишем следующую команду: htpasswd -cm .htpasswd admin
- htpasswd — наша скаченная программа
- -cm .htpasswd — параметр для создания файла .htpasswd и шифрования пароля с помощью MD5
- admin — имя пользователя, для которого создаем пароль
После выполнения команды необходимо ввести и подтвердить пароль для пользователя.
У нас создался файл .htpasswd с логином и паролем, с помощью которых можно будет получить доступ к сайту/директориям.
Теперь нам необходимо загрузить наши файлы .htaccess и .htpasswd на сервер.
.htaccess загружаем в директорию, которую необходимо защитить (будут автоматически защищены все подпапки), а .htpasswd рекомендуется загружать в другую директорию.
После того, как вы загрузили файлы на сервер по FTP, необходимо отредактировать файл .htaccess. Можно сделать это прямо на сервере, либо на компьютере через блокнот и потом снова загрузить на сервер. Пишем в файл следующие строки:
Для этого создаем файл, например, info.php. Пишем в него следующий код:
Копируем все, кроме названия файла и вставляем в .htaccess. После обязательно удалите info.php с сервера!
Все, сохраняем файл .htaccess и загружаем на сервер (если редактировали на локальном компьютере).
Теперь, если попробовать зайти в папку на сервере, то будет выскакивать окошко с запросом логина и пароля. Сессия хранится до закрытия браузера.
Читайте также: