Как в апаче включить MD5 для .htpasswd ?

12
SF
На сайте с 11.10.2005
Offline
137
3545

На локальной машине(операционка WIN XP, сер.пак 2) стоит Денвер(apache).

паролирую вход в директории с помощью .htpasswd и .htaccess

Все работает нормально, но пароли в .htpasswd хранятся в открытыми, не захешированными, если пытаюсь сделать пароли хешированными по MD5 то апачь перестает пускать в директорию.

сейчас работает с таким .htpasswd:

adm:qq

а надо чтобы работал с таким .htpasswd:

adm:099b3b060154898840f0ebdfb46ec78f

Я так понимаю, что в Апаче, где то надо, в конфиге включить чтобы он проверял хешированные с помощью MD5 пароли?

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

Инструкция: Как Правильно Делать Сайты: Домен, Хостинг, Установка CMS (http://www.3sd.ru/kak-delat-site/index.php).
A4
На сайте с 09.08.2007
Offline
55
#1

А хеш вы чем создаёте?

Настройка nginx и сопутствующего софта на freebsd/debian. Контакт через PM.
SJ
На сайте с 16.03.2008
Offline
78
#2

http://forum.ru-board.com/topic.cgi?forum=8&topic=3188 - Тут ничего подходящего нет?

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
C
На сайте с 14.09.2006
Offline
24
#3

Так а ты флаг "-m" добавил при вызове ./htpasswd

"Use MD5 encryption for passwords. On Windows, Netware and TPF, this is the default."

qwartyr
На сайте с 19.10.2007
Offline
40
#4

вы добавляете пользователей в .htaccess через htpasswd -m ?

профессиональное администрирование серверов (http://www.unixsupport.ru) отзывы (http://www.free-lance.ru/users/qwartyr/opinions/) на free-lance.ru
SF
На сайте с 11.10.2005
Offline
137
#5
Alexei42:
А хеш вы чем создаёте?

хеш создаю с помощью функции пхп md5

сам файл htpasswd создаю с помощью самописного exe-шника из cgi-bin, просто записываю в файл htpasswd строчку: admin:хешированный_пхп_функцией_пароль

Crespo:
Так а ты флаг "-m" добавил при вызове ./htpasswd

"Use MD5 encryption for passwords. On Windows, Netware and TPF, this is the default."

у меня htpasswd вызывается в .htaccess так:

AuthType Basic
AuthName "CRM"
AuthUserFile "/home/site/.htpasswd"
require valid-user

подскажите где тут -m надо добавлять при вызове?

qwartyr
На сайте с 19.10.2007
Offline
40
#6

-m опция для htpasswd - программы для работы с .htpasswd файлами хранящими юзеров и пароли для HTTP аутентификации

C
На сайте с 14.09.2006
Offline
24
#7
SellingFeis:
хеш создаю с помощью функции пхп md5
сам файл htpasswd создаю с помощью самописного exe-шника из cgi-bin, просто записываю в файл htpasswd строчку: admin:хешированный_пхп_функцией_пароль



у меня htpasswd вызывается в .htaccess так:
AuthType Basic
AuthName "CRM"
AuthUserFile "/home/site/.htpasswd"
require valid-user

подскажите где тут -m надо добавлять при вызове?

Здесь не надо, вы должны сам файл .htpasswd сгенерировать командой ./htpasswd -m

SF
На сайте с 11.10.2005
Offline
137
#8

qwartyr, Crespo, Спасибо, ясно, буду значит работать через htpasswd.exe,

а я так расчитывал что этот файл и хеш можно создать подручными средствами...

Как я понял htpasswd.exe от разных моделей Apache генерируют разные хеши паролей,

а хеш сгенеренный php функцией md5 отличается от хеша сгенеренного htpasswd.exe

SJ
На сайте с 16.03.2008
Offline
78
#9
SellingFeis:
а хеш сгенеренный php функцией md5 отличается от хеша сгенеренного htpasswd.exe

Конечно.

Ради интереса посмотрите как ломают (точнее, подбирают) md5 хеши, где они какие, что такое salt...

SF
На сайте с 11.10.2005
Offline
137
#10

Вот если кому пригодится скрипт администрирования файла .htpasswd из php

<?

$password=trim($HTTP_POST_VARS['password']); // получаем пароль
$login=trim($HTTP_POST_VARS['login']); // получаем логин

// пишем начало командной строки
// 'C:\webservers\usr\local\apache\bin\htpasswd.exe' - адрес где расположен htpasswd.exe
// '-b' - флаг использовать пароль из командной строки
// 'C:\WebServers\home\site\.htpasswd' - место нахождения файла .htpasswd
$url='C:\webservers\usr\local\apache\bin\htpasswd.exe -b C:\WebServers\home\site\.htpasswd'

if($password&&$login)
{
$cmd=$url.' '.$login.' '.$password; // собираем командную строку
system($cmd); // исполняем командную строку
// функция system() небезопасна, дополнительно предусмотрите защиту от инъекций
// через переменные $password и $login
// в данном скрипте защиты нет
}
?>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий