Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создать пароль для htpasswd

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Vaio
Отправлено: 14 Августа, 2013 - 19:24:09
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Пробовал вот так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Password to be encrypted for a .htpasswd file
  3. $clearTextPassword = 'some password';
  4.  
  5. // Encrypt password
  6. $password = crypt($clearTextPassword, base64_encode($clearTextPassword));
  7.  
  8. // Print encrypted password
  9. echo $password;
  10. ?>

apache не подходит этот пароль.
Эсть сайт: http://www[dot]htaccesstools[dot]com/htpasswd-generator/
Здесь пароль генерируется правильно, как добиться такого же эффекта?
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Августа, 2013 - 19:34:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




http://httpd.apache.org/docs/2.2/programs/htpasswd.html#examples

htpasswd - это пакет (программа) из apache2-utils
 
 Top
EuGen Администратор
Отправлено: 14 Августа, 2013 - 19:40:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




В PHP:
PHP:
скопировать код в буфер обмена
  1. $sUser     = 'dummy';
  2. $sPassword = 'password';
  3. $sResult   = trim(shell_exec('htpasswd -nmb '.$sUser.' '.$sPassword));
  4. //var_dump($sResult); //dummy:$apr1$oJWgvNKR$.8D49QZxEpkVAFxJ5DaLm0


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Vaio
Отправлено: 14 Августа, 2013 - 19:53:31
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




EuGen, не работает.

Думаю система настроена не так как у вас. Потому и хочу на php это сделать.
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Августа, 2013 - 20:11:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




На php это без костылей не сделать - тут алгоритм MD5 не такой.
Кроме того Вам показали решение для *NIX а не для винды.
 
 Top
Vaio
Отправлено: 14 Августа, 2013 - 21:32:55
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




DeepVarvar, я на nix и пробовал.

Вот костыль:

PHP:
скопировать код в буфер обмена
  1. function crypt_apr1_md5($plainpasswd) {
  2.     $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
  3.     $len = strlen($plainpasswd);
  4.     $text = $plainpasswd.'$apr1$'.$salt;
  5.     $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
  6.     for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
  7.     for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
  8.     $bin = pack("H32", md5($text));
  9.     for($i = 0; $i < 1000; $i++) {
  10.         $new = ($i & 1) ? $plainpasswd : $bin;
  11.         if ($i % 3) $new .= $salt;
  12.         if ($i % 7) $new .= $plainpasswd;
  13.         $new .= ($i & 1) ? $bin : $plainpasswd;
  14.         $bin = pack("H32", md5($new));
  15.     }
  16.     for ($i = 0; $i < 5; $i++) {
  17.         $k = $i + 6;
  18.         $j = $i + 12;
  19.         if ($j == 16) $j = 5;
  20.         $tmp = $bin[$i].$bin[$k].$bin[$j].$tmp;
  21.     }
  22.     $tmp = chr(0).chr(0).$bin[11].$tmp;
  23.     $tmp = strtr(strrev(substr(base64_encode($tmp), 2)),
  24.     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx  yz0123456789+/",
  25.     "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn  opqrstuvwxyz");
  26.     return "$"."apr1"."$".$salt."$".$tmp;
  27. }
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Августа, 2013 - 21:52:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Vaio пишет:
я на nix и пробовал
Значит если *.deb то:
CODE (bash):
скопировать код в буфер обмена
  1. # aptitude install apache2-utils

Появится пакетик htpasswd.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB