| | <?php |
| |
|
| | ob_start(); |
| | require_once 'PostgreSQL_funcs.php'; |
| | require 'PostgreSQL_config.php'; |
| | require 'PostgreSQL_getlogin.php'; |
| | ob_end_clean(); |
| |
|
| | session_start(); |
| |
|
| | if (isset($_POST['j_username'])) { |
| | $userid = $_POST['j_username']; |
| | } else { |
| | $userid = '-guest-'; |
| | } |
| | $good = false; |
| |
|
| | if (strcmp($userid, '-guest-')) { |
| | if (isset($_POST['j_password'])) { |
| | $password = $_POST['j_password']; |
| | } else { |
| | $password = ''; |
| | } |
| | $ctx = hash_init('sha256'); |
| | hash_update($ctx, $pwdsalt); |
| | hash_update($ctx, $password); |
| | $hash = hash_final($ctx); |
| | $useridlc = strtolower($userid); |
| | if (strcasecmp($hash, $pwdhash[$useridlc]) == 0) { |
| | $_SESSION['userid'] = $userid; |
| | $good = true; |
| | } else { |
| | $_SESSION['userid'] = '-guest-'; |
| | } |
| | } else { |
| | $_SESSION['userid'] = '-guest-'; |
| | $good = true; |
| | } |
| | $content = getStandaloneFile('dynmap_reg.php'); |
| |
|
| | |
| | $lines = explode('\n', $content); |
| | $newlines[] = array(); |
| | if (!empty($lines)) { |
| | $cnt = count($lines) - 1; |
| | $changed = false; |
| | for ($i = 1; $i < $cnt; $i++) { |
| | list($uid, $pc, $hsh) = explode('=', rtrim($lines[$i])); |
| | if ($uid == $useridlc) { |
| | continue; |
| | } |
| | if (array_key_exists($uid, $pendingreg)) { |
| | $newlines[] = $uid . '=' . $pc . '=' . $hsh; |
| | } else { |
| | $changed = true; |
| | } |
| | } |
| | if ($changed) { |
| | updateStandaloneFile('dynmap_reg.php', implode("\n", $newlines)); |
| | } |
| | } |
| |
|
| | if ($good) { |
| | echo "{ \"result\": \"success\" }"; |
| | } else { |
| | echo "{ \"result\": \"loginfailed\" }"; |
| | } |
| |
|
| | cleanupDb(); |
| |
|