|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 12 Jul 2000 12:03:33 To : sany@atnet.ru Subject : Re: как вытащить пароль из .htpasswd ? -------------------------------------------------------------------------------- sar> Стоит Апач под Win32; есть файл .htpasswd; папка со скриптом закрыта sar> паролем из этого файла (AuthType Basic); имя пользователя беру из $ENV sar> {REMOTE_USER} Проблема в том что я для паролей пока юзаю plaintext, sar> хотелось бы закриптить их MD5, как потом с ними работать ? В доке к Эктив sar> перлу нашел: sar> if (crypt($word, $salt) ne $pwd) { sar> die "Sorry...\n"; sar> } else { sar> print "ok\n"; sar> } sar> т.е насколько я понял нужно знать упакованный пароль, вычислить $salt и sar> далее проверить $word на соответствие $pwd, под *nix'ом наверно все ок ;) sar> далее пошли грабли с форточками: $pwd = (getpwuid($<))[1]; не катит это sar> понятно, можно ли вытащить пароль из .htpasswd ? sar> - start .htpasswd - sar> Vasya:$apr1$7y1.....$hISIR87Rwwlf3t.yEkS/71 sar> - end .htpasswd - open, <>, split /:/, $arr[1]. А (getpwuid($<))[1] не прокатит по очевидной причине - даже если в /etc/passwd есть настоящий пароль (покажите мне сейчас такую систему!), он всё равно не будет иметь ничего общего с паролем в .htpasswd. sar> далее $salt = substr($pwd, 0, 2); вроде так в доке написано и должно sar> работать, если первую проблему решить, тогда наверное все ок. $salt = $pwd; Иначе с MD5 точно не сработает - там соль длиннее. Хуже то, что crypt у тебя, скорее всего, эмулируется и эмулируется юниксовый стандартный, т.е. MD5 не умеет. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/347386ceaea5.html, оценка из 5, голосов 10
|