PHP логин для папки сайта - PullRequest
2 голосов
/ 17 ноября 2010

У меня есть папка на моем сайте, которая называется "admin", т.е.www.example.com/admin/, поэтому я хочу, чтобы, когда кто-то идет по этому адресу, отображалось окно входа в систему, после ввода правильных учетных данных ему разрешалось видеть все в этой папке «admin»,мне нужно поставить чек вверху каждой страницы или я могу просто прикрепить чек на странице index.php?

Возможно ли это?

Ответы [ 5 ]

2 голосов
/ 17 ноября 2010

Если вы хотите сделать это через PHP, вам нужно будет включать код в каждый исходный файл, проверяя, есть ли у человека правильные учетные данные. Вы действительно хотите решить эту проблему с помощью веб-сервера.

Если вы используете Apache, вы можете использовать файл .htaccess для настройки аутентификации. Попробуйте Эта статья для вашего первого шага в правильном направлении.

Использование аутентификации на основе сервера также позволяет защитить файлы, не относящиеся к PHP.

2 голосов
/ 17 ноября 2010

index.php отображается, когда кто-то заходит в эту папку. Без этого содержимое (все файлы) будет отображаться, что я думаю, что вы хотите здесь (т.е. список всего)

Однако в файле .htaccess можно установить разрешения, требующие пароль доступа к этим файлам.

Таким образом, ваши файлы не нуждаются в индивидуальной защите, только сама папка.

2 голосов
/ 17 ноября 2010

Если вы планируете использовать сеансы в PHP, вы должны проверить, установлены ли соответствующие переменные сеанса на страницах, которые пользователи успешно вошли в систему.

Чтобы уточнить, вам нужно что-то использоватькак это:

<?php
session_start();

if($_SESSION['usertype'] != 'admin') //$_SESSION['usertype'] should be set in the index page once the admin guy logs in successfully
header("Location:http://www.example.com/admin/"); //Redirect the user to the login page if the expected session variable is not found
?>
0 голосов
/ 17 ноября 2010

Ваша основная точка входа может быть index.php и направлять пользователя к правильному представлению в зависимости от того, установлена ​​ли SESSION.

А что касается блокировки других файлов в папке:

для файлов PHP: определите константу в index.php, а в верхней части других включенных файлов PHP проверьте, «определено» ли это.

Что касается изображений и других типов файлов, вы можете хранить их выше корня и включать их через PHP.

0 голосов
/ 17 ноября 2010

также может быть достигнуто (вроде) с помощью .htaccess в зависимости от ваших фактических требований.

AuthType Basic
AuthName "Admin Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

.htpasswd

admin:$apr1$7ej2t/..$qlcauURCmChKfwVhnxRLt.

(админ / передача)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...