Jump to content
  • 0

Админка


Alex_Mak
 Share

Question

Recommended Posts

  • 0

хм... то есть лучше пусть будет гибко но с возможностью взлома просто через адресную строку браузера?

хотя такой способ... без сессии и без кукиса... это какая-то странная авторизация

Link to comment
Share on other sites

  • 0

Запрещаем свободный доступ к ресурсу а там где разрешаем ставим пароль.

(предпологается что Apache)

Для управления доступа к тем или иным ресурсам используем директивы allow и deny.

В конфигурационных файлах .htaccess и .httpd можем держать несколько несколько директив allow и deny,

а порядок их выполнения определять директивой order

order deny, allow

сначало выполняются все запрещенные deny директивы

и лишь затем директивы, разрешающие доступ allow.

Порядок выполнения можно изменить изменив порядок следования

order allow, deny

Самим директивам allow и deny мы можем придавать разнообразные формы:

разрешение доступа с IP-адреса 127.0.0.1

order deny, allow
deny from all
allow from 127.0.0.1

запрет доступа с IP-адреса 127.0.0.1

deny from 127.0.0.1

запрет доступа с IP-адресов из диапазона 127.0.0.1-127.0.0.255

deny from 127.0.0

использование маски подсети для запрета доступа

deny from 127.0.0.1/255.255.255.0

использование CIDR-нотации маски подсети

deny from 127.0.0.1/24

полный запрет доступа к каталогу

deny from all

Чтобы запретить загрузки файлов с определенним расширением например txt используем контейнер <Files>:

использование контейнера <Files>

<Files "*.txt">
deny from all
</Files>

в контейнере <Files> также используем имена файлов наример:

запрет доступа к файлу config.php

<Files "config.php">
deny from all
</Files>

запрет на непосредственный доступ к файлам

<Files "*.php$">
deny from all
</Files>

Ну вот почти и все, осталось только определить кто где и как может получить доступ.

Защищаем сайт паролем:

помимо конфигурационного файла .htaccess потребуется файл .htpasswd для хранения паролей,

создание файла .htpasswd осущесвляется утилитой htpasswd.exe, кототая лежит в каталоге bin сервера Apache,

для создания нового файла утилите необходимо передать параметр -c,

помимо этого потребуется зашифровать пароль методом MD5 с помощью параметра -m,

можно групировать параметры используя -cm

создание файла .htpasswd

htpasswd -cm .htpasswd user

далее утилита запрашивает пароль для пользователя user и создает новый файл .htpasswd,

для того чтобы пароль password можно было задать непосредственно в командной строке,

в параметры добавляем параметр -b

альтернативный способ создания файла .htpasswd

htpasswd -cmb .htpasswd user password

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

user:$apr1$8U2.....$Jehmbz8MGSSzxKQZxHUEs/

каждая строка в файле соответствует однй учетной записи,

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

т.к. существующие пользователи в файле будут затерты,

! обратите внимание что, путь к файлу .htpasswd в конфиг файле .htaccess должен быть абсолютным,

относитильные пути не допускаются, если путь содержит пробелы его необходимо заключать в кавычки !

защита паролем при помощи файла .htaccess

AuthType Basic
AuthName "Password Access"
AuthuserFile /путь/к/файлу/.htpasswd
require valid-user

теперь при доступе к странице защищенной с помощью конфигурационных файлов .htaccess и .htpasswd

будет выводится окно с требованием ввода имя пользователя и пароля

предостовлять доступ по паролю можно не только к каталогу в целом,

но и к файлам с определенным расширением или именем,

для этого естественно используем контейнер <Files>

защита паролем архивных файлов

<Files "*.zip">
AuthType Basic
AuthName "Password Access"
AuthuserFile /путь/к/файлу/.htpasswd
require valid-user
</Files>

——————

Link to comment
Share on other sites

  • 0

я понимаю, что вопрос немного расплывчатый.. но все же, может, что-нибудь проясните вообще по этому поводу..

как делают админки?

Для того чтобы сделать админку сайта нужно чтобы сайт был написан на php и mysql.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy