query("DELETE FROM lg_securitytokens
WHERE securitytoken ='$token_neu'
AND identifier = '$identifier'
");
}
//Cookies entfernen
session_destroy();
setcookie("identifier", "", time() - (3600 * 24 * 365));
setcookie("securitytoken", "", time() - (3600 * 24 * 365));
header("location:../php/login.php");
}
if ($function == 'login') {
$user = mb_strtoupper($_POST["user"]); //remove case sensitivity on the mail
$password = $_POST["password"];
# 2 Loginmöglichkeiten: 1) Datenbank ams_stammdaten oder 2) Hochschul-LDAP
if ($user == "" OR $password == "") {
echo '
Bitte füllen Sie alle Felder aus!
|***|error';
exit;
}
$result = $db->query("SELECT sid, uid, mail, hs, stg, pwd, durchgefallen FROM stud WHERE upper(uid)='$user'");
$row = $result->fetch_array();
if (mysqli_num_rows($result) == 0) {
echo ' Der Account ist im Anmeldesystem nicht verfügbar!
|***|error';
exit;
} else if ($row['durchgefallen'] != 'N') {
echo ' Der Account ist inaktiv!
|***|error';
exit;
} else if (studnet($user, $password) or hsnet($user, $password) or md5($password) == $row['pwd']) {
$_SESSION['global_sid'] = $row['sid'];
$_SESSION['global_uid'] = $row['uid'];
$_SESSION['global_stg'] = $row['stg'];
$_SESSION['global_hs'] = $row['hs'];
echo " Login wird durchgeführt
|***|success";
} else {
echo ' Bitte prüfen Sie Ihre Zugangsdaten
|***|error';
exit;
}
/*
else if (md5($password) != $row['passwort'] or $row['mail'] == ''){ //verschlüsseltes Passwort überprüfen
echo ' Bitte prüfen Sie Ihre Zugangsdaten
|***|error';
exit;
}else{
$VAID = $row['VAID'];
//Möchte der Nutzer angemeldet beleiben?
if($_POST['angemeldet_bleiben'] == 1) {
$identifier = random_string();
$securitytoken = random_string();
# $insert = $pdo->prepare("INSERT INTO lg_securitytokens (user_id, identifier, securitytoken) VALUES (:user_id, :identifier, :securitytoken)");
# $insert->execute(array('user_id' => $user['id'], 'identifier' => $identifier, 'securitytoken' => sha1($securitytoken)));
$token_neu = sha1($securitytoken);
$result_1 = $db->query("INSERT INTO lg_securitytokens (VAID, identifier, securitytoken) VALUES ('$VAID', '$identifier', '$token_neu')");
setcookie("identifier",$identifier,time()+(3600*24*365)); //1 Jahr Gültigkeit
setcookie("securitytoken",$securitytoken,time()+(3600*24*365)); //1 Jahr Gültigkeit
$_SESSION['angemeldet_bleiben'] = 1;
}else{
$_SESSION['angemeldet_bleiben'] = 0;
}
$datum=date("Y-m-d H:i:s");
$ip=getenv("REMOTE_ADDR");
$agent=getenv("HTTP_USER_AGENT");
$_SESSION['userid'] = $VAID;
$_SESSION["global_mail"] = $row['mail'];
$result_1 = $db->query("INSERT INTO userlog (Datum, IP, user_agent, VAID) VALUES ('$datum', '$ip', '$agent', '$VAID')");
echo " Login wird durchgeführt
|***|success";
}
}
*/
}
/*
if ($function == 'passwortvergessen') {
$mailempf = $_POST['email'];
$result_pw = $db->query("SELECT VAID, inaktiv, vorname, nachname, mail FROM admin WHERE UPPER(mail)=UPPER('$mailempf')");
$row_pw = $result_pw->fetch_array();
if(!isset($_POST['email']) || empty($_POST['email'])) {
echo ' Bitte geben Sie eine E-Mail-Adresse ein.
|***|error';
exit;
} elseif ($row_pw['mail'] == ''){
echo ' Der Benutzer wurde nicht im System gefunden. Überprüfen Sie die Mailadresse
|***|error';
exit;
}elseif($row_pw['inaktiv'] != 'N') {
echo ' Der Benutzer ist inaktiv. Melden Sie sich beim Administrator.
|***|error';
exit;
}else{
# function passwort_back
echo passwort_back($row_pw['VAID']);
}
}
if ($function == 'resetpasswort') {
$password_new1 = $_POST['password_new1'];
$password_new2 = $_POST['password_new2'];
$vaid = $_POST['vaid'];
$code = $_POST['code'];
$result = $db->query("SELECT VAID, vorname, nachname, mail, inaktiv, passwortcode, passwortcode_time FROM admin WHERE VAID=$vaid");
$row = $result->fetch_array();
#Fehlercheck
if(!isset($vaid) || !isset($code)) {
echo ' Leider wurde beim Aufruf dieser Website kein Code zum Zurücksetzen des Passworts übermittelt!
|***|error';
exit;
}elseif ($row === null || $row['passwortcode'] === null ) {
echo ' Es wurde kein passender Benutzer gefunden!
|***|error';
exit;
}elseif($row['inaktiv'] != 'N') {
echo ' Der Benutzer ist inaktiv. Melden Sie sich beim Administrator.
|***|error';
exit;
}elseif($row['passwortcode_time'] === null || strtotime($row['passwortcode_time']) < (time()-24*3600) ) {
echo ' Der Code ist leider abgelaufen. Setzen Sie das Passwort erneut zurück!
|***|error';
exit;
}elseif(sha1($code) != $row['passwortcode']) {
echo ' Der übergebene Code war ungültig.
Stellen Sie sicher, dass Sie den genauen Link in der URL aufrufen.
|***|error';
exit;
}elseif ($password_new1 != $password_new2) {
echo ' Das neue Passwort stimmt nicht mit der Wiederholung überein!
|***|error';
exit;
}elseif (strlen($password_new1) < 8) {
echo ' Das neue Passwort muss mindestens 8 Zeichen haben!
|***|error';
exit;
}else{
$password_md5 = md5($password_new1);
$update = $db->query("UPDATE admin
SET passwort ='$password_md5'
,passwortcode = NULL
,passwortcode_time = NULL
WHERE VAID=$vaid
");
if (!$update) {
echo ' Es liegt ein Fehler in der Datenbank vor!
|***|error';
exit;
}else{
echo ' Das Passwort wurde geändert!
|***|success';
exit;
}
}
}
*/
?>