Lehet hogy a tárgy kicsit megtévesztő, de a lényeg, hogy szeretnék egy PHP-s felületet ami a Linux-ra felvett felhasználókat beengedi a felületre, ...
A problémám a jelszavak ellenőrzése, azzal kellett szembesülnöm, hogy a jelszavak meglehetősen változatos formátumban lehetnek tárolva, ezért még a jelszó ellenőrzése előtt a hash algoritmust is vissza kell keresni, ...
A kérdésem, van erre valamilyen kész megoldás?
Csak néhány példa, hogy mire gondolok:
hash string kódolás
--------------------------------- -------
{CRYPT}$1$KgOfPNtz$9e40u.... MD5
$1$KgOfPNtz$9e40u.... MD5 (Debian 5)
9e40u.... MD5, salt nélkül
{CRYPT}$5$KgOfPNtz$9e40u.... SHA-256
$6$KgOfPNtz$9e40u.... SHA-512 (Debian 6)
{SHA}.... SHA1
....
Egyébként LDAP-ból venném ki a jelszavakat
- 1639 megtekintés
Hozzászólások
Szerintem ne bonyolítsd túl.
Gyors google:
http://code.activestate.com/recipes/101525-ldap-authentication/
Valami ilyesmire gondolj. Ha valóban LDAP végzi az authentikációt, akkor az majd megoldja a jelszó kezelését.
Te inkább valamilyen a fenti kódhoz hasonló módszerrel próbálj meg csatlakozni az LDAP-hoz. Ha megy akkor user/pass OK, ha nem akkor "Try Again".
Remélem segítettem.
Plussz php.net példa:
http://php.net/manual/en/function.ldap-bind.php
Elvileg müködö kód:
http://www.phpbuilder.com/board/showthread.php?t=10257921
- A hozzászóláshoz be kell jelentkezni
Az a gond, hogy attól hogy valakinek van jelszava (pl. levelezés miatt) még nem biztos, hogy az LDAP-ba is beléphet, így az ellenőrzés téves lehet
- A hozzászóláshoz be kell jelentkezni
<?php
$pw = "plaintextpassword";
$shadow = '$1$xJHGjkGJHgjhkxgkjasdgkjjghXJHG/';
if (crypt($pw, $shadow) == $shadow) {
echo "Correct";
} else {
echo "Mismatch";
}
?>
- A hozzászóláshoz be kell jelentkezni
Köszi ez lesz az!
Pedig néztem a help-et, de nem esett le, hogy a salt dönti el a kódolás fajtáját. Persze a "{CRYPT}" részt le kell vágnom, de ez legyen a legnagyobb gond :)
- A hozzászóláshoz be kell jelentkezni
Ha csak beengedésről van szó, akkor esetleg sasl?
Nem teljesen tiszta egyébként, hogy itt most mi a cél, de ha autentikáció, akkor nekem az probléma lenne, hogy a /etc/shadow -t egy PHP alkalmazás tudja olvasni ...
Erre megoldást nyújthat egy PHP sasl lib + saslauthd.
Ha félreértettem, akkor bocs.
Szerk.:
Közben felfogtam, hogy a jelszavak LDAP-ban vannak és nem shadow-ban, szóval elnézést.
- A hozzászóláshoz be kell jelentkezni
[feliratkozás]
- A hozzászóláshoz be kell jelentkezni