htpasswd dosyaları oluşturmak için programlı bir yolu var mı Htpasswd (yani exec()
, passthru()
)?Programlı bina OS özel fonksiyonlara bağlı kalmadan
cevap
.httpasswd dosyaları, belirtilen karma işlevine bağlı olarak yalnızca belirli bir biçimdeki metin dosyalarıdır. Eğer MD5 kullanıyorsanız bunlar şuna benzer:
base64 olarak kodlanmış giriş, iki nokta üst üste, $ apr1 $, tuz ve 1000 kat md5 varfoo:$apr1$y1cXxW5l$3vapv2yyCXaYz8zGoXj241
. Eğer SHA1 seçerseniz onlar şuna benzer:
giriş, bir kolon, dize {SHA} ve base64 ile kodlanmış SHA1 hashfoo:{SHA}BW6v589SIg3i3zaEW47RcMZ+I+M=
.
Dil MD5 veya SHA1 ve base64 ya gerçeklenimine Eğer sadece bu gibi dosya oluşturabilirsiniz:
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
Trac, htpasswd için bir Python yedeklemesiyle birlikte gönderilir; emin olduğunuz dil seçeneğinizle bağlantı kurabilirsiniz: htpasswd.py.
Birincisi, bu form oluşturmak:
<FORM METHOD="POST" ACTION="<? echo $_SERVER['PHP_SELF']; ?>" onSubmit='return ValidateForm()'>
Username<br /><INPUT TYPE="TEXT" NAME="user[]"><br /><br />
Password<br /><INPUT TYPE="PASSWORD" NAME="password1[]"><br />
<INPUT TYPE="PASSWORD" NAME="password2[]"><br /><br />
<INPUT type=submit name="submit" VALUE="Create .htpasswd entry" onclick="document.all.submit.style.visibility='hidden'">
</FORM>
Sonra bu PHP kodu sizin için şifre oluşturacaksınız: Dosyanın $htpasswd_text
olduğunu htpasswd
if (isset($_POST['user']) && isset($_POST['password1'])) {
if($_POST['password1'] == $_POST['password2']) {
$user = $_POST['user'];
$password1 = $_POST['password1'];
$htpasswd_text = "";
for ($i = 0; $i < count ($user); $i++) {
$htpasswd_text .= "$user[$i]:".crypt($password1[$i],CRYPT_STD_DES)."";
}
echo "<br />Copy this line to your .htpasswd file:";
echo "<pre style=\"border-bottom-width:1px;border-bottom-style:solid;\">";
echo nl2br($htpasswd_text);
echo "</pre><br />";
} else {
echo "<pre style=\"border-bottom-width:1px;border-bottom-style:solid;\">Passwords do not match !</pre><br />";
}
}
gerçek metin eklemek için değişken.
kript formatı hashing eski ve artık kullanılmamalıdır. Htpasswd için geçerli varsayılan md5'tir. – bitmusher
Gönderen:
<?php
$login = 'foo';
$pass = 'pass';
$hash = base64_encode(sha1($pass, true));
$contents = $login . ':{SHA}' . $hash;
file_put_contents('.htpasswd', $contents);
?>
İşte biçimi hakkında daha fazla bilgi var PHP web sitesinde ne yazıyorsa, aşağıdaki yöntemde crypt() kullanabilirsiniz:
<?php
// Set the password & username
$username = 'user';
$password = 'mypassword';
// Get the hash, letting the salt be automatically generated
$hash = crypt($password);
// write to a file
file_set_contents('.htpasswd', $username ':' . $contents);
?>
Bu örnekte bulabileceğiniz bölüm: http://ca3.php.net/crypt
Bu, tabiki mevcut dosyanın üzerine yazacaktır, bu yüzden bir çeşit uyum sağlamak isteyeceksiniz.
Bunun işe yarayacağından% 100 emin değilim, ama eminim.
şifreleme kodu htpasswd dosyalarındaki karmaşayı kullanıyorum ve kullanılmamalı . Geçerli varsayılan md5 varyantıdır. – bitmusher
- 1. Bina programlı bir proje
- 2. Özel Android OS Yapı
- 3. Özel Dialog'u programlı olarak özelleştirme
- 4. javascript tüm fonksiyonlara prototip ekleme
- 5. Fonksiyonlara tanımsız başvuru bile kullanmadım?
- 6. jQuery Bunları fonksiyonlara sahip tıklama
- 7. tüm fonksiyonlara namespace dizesi ekle
- 8. Bina Özel Web Görünümü Cordova 5.0 ile Android içinde
- 9. Programlı C#
- 10. AngularJS özel doğrulama, programlı olarak değiştirilirken tetiklenmiyor
- 11. Özel çerçeveler kullanarak iMessage'ı programlı olarak gönderin
- 12. Geçiş, kalifiye işaretçileri fonksiyonlara göre kısıtlıyor mu?
- 13. OS X için özel kontrol gibi seçici?
- 14. Bina Numpy 1.7.1 Ubuntu'da
- 15. cmake ile bina kütüphanesi
- 16. bina .net uygulamaları
- 17. Bina AOSP, vendor_module_check.mk başarısız
- 18. OS
- 19. TargetControlID'yi ayarlamak zorunda kalmadan ModalPopupExtender'ı kullan?
- 20. Nesne yönelimli C: Bina vtables
- 21. Fiyat kalmadan önce metin ekleyin
- 22. LSB C++ Derleyici ile Bina Yükseltme
- 23. Programlı
- 24. Programlı
- 25. programlı
- 26. programlı
- 27. programlı
- 28. programlı
- 29. programlı
- 30. Programlı
MD5 biçimindeki şifreyi üretmek için http://techtalk.virendrachandak.com/using-php-create-passwords-for-htpasswd-file/ –