*

Spido

  • *
  • 1634

Защита административной части с помощью .htaccess и .htpasswd

В дефолтной версии  osCommerce Online Merchant v2.2 административная часть не закрыта от доступа.
Чтобы закрыть её с помощью Apache, нужно использовать два файла .htaccess и .htpasswd.

Сначала создадим файл htpasswd:
Скачаем утилиту htpasswd.exe (прикреплена во вложении) и поместим её на своем компе по адресу E:\Documents and Settings\Admin (буква диска у каждого может быть С:).
Откроем утилиту cmd.exe через "Пуск"->"Выполнить", вбив cmd

(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Вбиваем команду и имя пользователя:

htpasswd -cm .htpasswd nikolay , жмем ENTER.

(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Утилита попросит ввести пароль: вводим, жмем ENTER.
Утилита попросит ввести тот же пароль повторно: вводим, жмем ENTER.

(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Всё, файл htpasswd с паролем создан и записан в директорию E:\Documents and Settings\Admin

На хостинге, создаем файл .htaccess или используем уже имеющийся и записываем его в директорию /admin на хостинге.
В эту же директорию записываем созданный нами файл .htpasswd.
В файле .htaccess прописываем директивы и путь к файлу .htpasswd:
AuthName Audentification
AuthType Basic
AuthUserFile /www/12345_user/admin/.htpasswd
require valid-user

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

« Последнее редактирование: 01 Ноя 2009 01:29:50 am от Spido »
Если вам помогли, то не стесняйтесь отблагодарить донатом:

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

AuthName Audentification
AuthType Basic
AuthUserFile /www/12345_user/admin/.htpasswd
require valid-user

в строке AuthUserFile /www/12345_user/admin/.htpasswd
использовать полный путь к файлу созданного виртуально диска.
пример AuthUserFile Z:/webserver/home/192.168.10.1/www/admin/.htpasswd

*

Spido

  • *
  • 1634

В большинстве системных требований при установке интернет-магазина osCommerce и контрибуций к нему - рекомендуется только Apache, и никогда не упоминается IIS7.
В последнее время становится популярным использование Windows Server 2008 для серверов и виртуальных площадок.
Windows Server 2008 имеет свой сервер IIS7, что делает использование Apache нелогичным.
С другой стороны, Apache имеет модуль mod_rewrite, который обрабатывает большой список правил, без которых не будут работать многие расширениями дополнения в osCommerce.
IIS7 тоже имеет похожий, бесплатный модуль под названием URL Rewrite, но этот модуль не умеет и 30% того,что умеет mod_rewrite Apache.

Чтобы приблизить возможности правил mod_rewrite для IIS7 я взял модуль Helicon Ape http://www.helicontech.com/download-ape.htm , платную версию (бесплатная сильно ограничена и не имеет для нас интереса).
Установив этот модуль, я получил возможность задавать правила для .htaccess и .htpasswd.

На первом скриншоте виден значек Helicon Ape, который появляется в панели управления IIS7 после инсталляции.
На втором скриншоте показаны все модули входящие в Helicon Ape, которые прописаны в файле httpd.conf
На третьем скриншоте показан результат работы правил аутентификации.

« Последнее редактирование: 08 Янв 2010 18:42:52 pm от Spido »
Если вам помогли, то не стесняйтесь отблагодарить донатом:

Цитировать
В дефолтной версии  osCommerce Online Merchant v2.2 административная часть не закрыта от доступа.

не закрыта от чего или кого?

*

Love

Цитировать
В дефолтной версии  osCommerce Online Merchant v2.2 административная часть не закрыта от доступа.

не закрыта от чего или кого?
Не закрыта административная часть магазина от посторонних людей.

*

Nook

  • *
  • 11

Проделав все это первый раз делает запроси этого логина и пароля.Но потом переходит вообще не понятно куда.
Второй раз при попытке уже не спрашивает логин и пас,а сразу переходи.
А без этого всего,спокойной входи в админку как и раньше.

*

Spido

  • *
  • 1634

Но потом переходит вообще не понятно куда.
Файл .htaccess должен находиться в директории /admin
Вы должны прописать в файл .htaccess свой путь к файлу .htpasswd, а не тот который указан в качестве примера AuthUserFile /www/12345_user/admin/.htpasswd
Там где выделено красным, должен быть прописан ваш путь к файлу .htpasswd

Если вам помогли, то не стесняйтесь отблагодарить донатом:
*

Nook

  • *
  • 11

Все именно так.Первый раз же он сделал запрос имени и пароля =)
А вот потом уже перешел не в админ панель.А не понятно куда =(
А со 2й попытки сразу переходит не понятно куда(Наверное имя и пароль просто остались в браузере,потому и не спрашивает больше)

*

Spido

  • *
  • 1634

А вот потом уже перешел не в админ панель.А не понятно куда =(

Так не бывает, что непонятно куда.
Всегда есть адрес у страницы, на которую перебрасывает. Посмотрите этот адрес и сделайте выводы.

Если вам помогли, то не стесняйтесь отблагодарить донатом:

"Непонятно куда" - это ошибка 500. Хотя путь прописан правильно, ведь системой принят логин и пароль на "границе" к админке.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

решила сама проблему...
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Здравствуйте, защитил с помощью htpasswd но теперь не принимает логин и пароль при входе в администрирование, Хотя до этого входил без проблем, что это может быть?

Заработало только когда пароль и логин сделал таким же как и были до этого при входе в админку до защиты .htaccess и .htpasswd

Заработало только когда пароль и логин сделал таким же как и были до этого при входе в админку до защиты .htaccess и .htpasswd
Не помогает, голова кругом уже от этой цмс.
Есть еще что нам надо знать? Я уже с ума схожу...

Поясните пож.:
1. В файле .htpasswd должны быть именно такие каракули? admin:$apr1$Fk0.....$IqMwXuAOHNVALM7wSKi.G0

2. Можно как то подробнее про путь? Я  так понимаю что если выходит сообщение о вводе логина/пароля значит файл .htaccess система видит, а вот дальше отправляет запрос в файл .htpasswd и вот тут что то не вяжется, так как получаем ошибку (смотрите вложения)

То есть файл .htpasswd "корявый" и не отправляет нас в админку?

Поясните пож. для таких как я "тупых"!!!