diff options
Diffstat (limited to 'mayor-orig/www/include/backend/mysql/auth')
-rw-r--r-- | mayor-orig/www/include/backend/mysql/auth/login.php | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/mayor-orig/www/include/backend/mysql/auth/login.php b/mayor-orig/www/include/backend/mysql/auth/login.php deleted file mode 100644 index caa7929d..00000000 --- a/mayor-orig/www/include/backend/mysql/auth/login.php +++ /dev/null @@ -1,144 +0,0 @@ -<?php -/* - Auth-MySQL - - A név-jelszó pár ellenőrzése MySQL adattábla alapján - */ - -/* -------------------------------------------------------------- - -Az adattábla szerkezete: - -create table userAccounts ( -userId int unsigned primary key auto_increment not null, -userAccount varchar(32), -policy varchar(10), -userPassword varchar(32), -userCn varchar(64) -); - -A függvény az előre definiált _AUTH_SUCCESS, _AUTH_EXPIRED, _AUTH_FAILURE -konstansok valamelyikével tér vissza. - -Sikeres hitelesítés esetén -az egyéb account információkat (minimálisan a 'cn', azaz 'teljes név -attribútumot) a cím szerint átadott $accountInformation tömbbe helyezi el. - -Sikertelen azonosítás esetén a globális $_SESSION['alert'] változóban jelzi az -elutasítás okát. - -Shadow attribútumok: - -Login name -Encrypted password -shadowLastChanged -1970. január 1-étől az utolsó jelszó módosításig eltelt napok száma -Days since Jan 1, 1970 that password was last changed -shadowMin -Jelszóváltoztatás után ennyi napig nem lehet ismét jelszót változtatni -Days before password may be changed -shadowMax -Jelszóváltoztatás után ennyi nappal már kötelező a jelszóváltoztatás -Days after which password must be changed -shadowWarning -A jelszó érvényességének lejártát ennyi nappal előbb jelezi a rendsze -Days before password is to expire that user is warned -shadowInactive -A jelszó érvényességének lejárta után ennyi nappal az felhasználói fiók letiltásra kerül -Days after password expires that account is disabled -shadowExpire -Az előzőektől függetlenül a felhasználói fiók letiltásra kerül 1970. január 1-étől számított ennyiedik napo -Days since Jan 1, 1970 that account is disabled - --------------------------------------------------------------- */ - -function mysqlUserAuthentication($userAccount, $userPassword, &$accountInformation, $toPolicy = _POLICY) { - - global $AUTH; - - $modul = "$toPolicy auth"; - $lr = db_connect($modul, array('fv' => 'userAuthentication/sql')); - if (!$lr) return _AUTH_FAILURE; - - // Van-e ilyen azonosító - $q = "SELECT COUNT(*) FROM accounts WHERE userAccount='%s' AND policy='%s'"; - $num = db_query($q, array('fv' => 'userAuthentication', 'modul' => $modul, 'result' => 'value', 'values' => array($userAccount, $toPolicy)), $lr); - if ($num == 0) { - // Nincs ilyen azonosító - $_SESSION['alert'][] = 'message:no_account:'."$userAccount:$toPolicy"; - db_close($lr); - return _AUTH_FAILURE_1; - } elseif ($num > 1) { - // Több ilyen azonosító is va - $_SESSION['alert'][] = 'message:multy_uid'; - db_close($lr); - return _AUTH_FAILURE_2; - } - - // Ha csak egy van, akkor jó-e a jelszava - $q = "SELECT userCn, studyId, shadowLastChange, shadowMin, shadowMax, shadowWarning, shadowInactive, shadowExpire - FROM accounts WHERE userAccount='%s' AND userPassword=sha('%s') AND policy='%s'"; - $ret = db_query($q, array('fv' => 'userAuthentication', 'modul' => 'login', 'result' => 'record', 'values' => array($userAccount, $userPassword, $toPolicy)), $lr); - db_close($lr); - if (!is_array($ret) || count($ret) == 0) { - // Nincs ilyen rekord => rossz a jelszó - $_SESSION['alert'][] = 'message:bad_pw'; - return _AUTH_FAILURE_3; - } else { - // Ha van, akkor csak egy ilyen sor lehet - $accountInformation['cn'] = $ret['userCn']; - $accountInformation['studyId'] = $ret['studyId']; - $shadowLastChange = $ret['shadowLastChange']; - $shadowMin = $ret['shadowMin']; - $shadowMax = $ret['shadowMax']; - $shadowWarning = $ret['shadowWarning']; - $shadowInactive = $ret['shadowInactive']; - $shadowExpire = $ret['shadowExpire']; - - // A lejárat ideje a shadowExpire és shadowLastChange+shadowMax kötül a kisebbik - if (intval($shadowExpire) != 0) $expireTimestamp = $shadowExpire; - if ( - intval($shadowMax) != 0 && - ( - !isset($expireTimestamp) || - $expireTimestamp > $shadowLastChange + $shadowMax - ) - ) $expireTimestamp = $shadowLastChange + $shadowMax; - // lejárt, ha lejárat ideje már elmúlt - $accountExpired = (isset($expireTimestamp) && ($expireTimestamp <= floor(time()/(60*60*24)))); - - // Le van-e tiltva - if ( // onDisabled: none | refuse - $AUTH[$toPolicy]['onDisabled'] == 'refuse' && - isset($expireTimestamp) && - $expireTimestamp + $shadowInactive <= floor(time()/(60*60*24)) - ) { - // Le van tiltva - $_SESSION['alert'][] = 'message:account_disabled:'.strval(floor(time()/(60*60*24))); - return _AUTH_FAILURE_4; - } // onDisabled - - // Lejárt-e az azonosító - if ($AUTH[$toPolicy]['onExpired'] != 'none' && isset($expireTimestamp)) { // onExpired: none | warning | force update - // Lejárt-e - $pwLejar = $expireTimestamp - floor(time()/(60*60*24)); - if (0 < $pwLejar && $pwLejar < $shadowWarning) { - $_SESSION['alert'][] = 'info:account_warning:'.$pwLejar; - return _AUTH_SUCCESS; - } elseif ($pwLejar <= 0) { - $_SESSION['alert'][] = 'info:account_expired:'.abs($pwLejar); - if ($AUTH[$toPolicy]['onDisabled'] == 'refuse') - $_SESSION['alert'][] = 'info:warn_account_disable:'.($shadowInactive+$pwLejar); - if ($AUTH[$toPolicy]['onExpired'] == 'warning') { - return _AUTH_SUCCESS; - } elseif ($AUTH[$toPolicy]['onExpired'] == 'force update') { - return _AUTH_EXPIRED; - } - } - } // onExpired - return _AUTH_SUCCESS; - - } -} - -?> |