<?php include("kurs/datenbankanbindung.php"); // fügt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php #require("check_zweig.php"); // Pr�ft, ob Innenverwaltung angemeldet ist: setzt datenbankanbindung.php voraus $db = dbconnect(); session_start(); $ansp = $db->query("SELECT wert1, wert2 FROM parameter WHERE pid='1'"); $uhd = $ansp->fetch_array(); $query_ldapcon = $db->query("SELECT wert1 FROM parameter WHERE pid='12'"); $row_ldapcon = $query_ldapcon->fetch_array(); $query_ldapuser = $db->query("SELECT wert1, wert2 FROM parameter WHERE pid='13'"); $row_ldapuser = $query_ldapuser->fetch_array(); $_ldap_dn = "ou=ouStudnet,dc=studnet,dc=hs-ludwigsburg,dc=de"; $ansprechpart = "$uhd[wert1]"; // Ansprechpartner bei Probleme $helpmail = "$uhd[wert2]"; // Kontaktmailadresse bei Problemen $systemname = "Anmeldesystem"; $_SESSION['systemname'] = $systemname; if (isset($_GET['action'])) $action = $_GET['action']; else $action = ""; switch($action){ default: echo" <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Anmeldung $systemname</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF'] . "?action=anmeld";echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>$systemname</h1><!--END TITLE--> <!--DESCRIPTION--><span><font color=red><b><u>NEU: Studierende der Hochschule Ludwigsburg:</u></b></font><br> Bitte verwenden Sie Ihre Windows Benutzerkennung und Passwort! Das bisherige Passwort der Anmeldesysteme ist nicht mehr gültig.</span><!--END DESCRIPTION--> <br> <br> <!--DESCRIPTION--><span><span><font color=red><b><u>Studenten der Hochschule Kehl:</u></b></font><br> Verwenden Sie - wie bisher - weiterhin ihr übliches Passwort.</span><!--END DESCRIPTION--> </div> <!--END HEADER--> <!--CONTENT--> <div class='content'> <!--USERNAME--><input name='uid' class='input username' value='Benutzername' onfocus=\"this.value=''\" type='text'><!--END USERNAME--> <!--PASSWORD--><input name='pwd' class='input password' value='Passwort' onfocus=\"this.value=''\" type='password'><!--END PASSWORD--> </div> <!--END CONTENT--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Login' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> <!--END LOGIN FORM--> </div> <!--END WRAPPER--> </body> </html>"; break; case "anmeld": $systemname = $_SESSION['systemname']; $uid = strtolower($_POST[uid]); $pwd = $_POST[pwd]; $db = dbconnect(); $result = $db->query("SELECT hs, LOWER(uid) uid, Pwd FROM stud where uid=\"$uid\""); $row = $result->fetch_array(); // Abfrage, was tun wenn Felder leer sind bzw. Passwort falsch ist if ($uid == "" or $_POST['pwd'] == "") { echo " <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Anmeldung $systemname</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>Fehler</h1><!--END TITLE--> <!--DESCRIPTION--> <span> Es müssen alle Felder ausgefüllt werden <br> <br> </span> <!--END DESCRIPTION--> </div> <!--END HEADER--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Zurück' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> </div> <!--END WRAPPER--> </body> </html> <html>"; exit; } if ($uid != $row[uid]) { echo" <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Anmeldung $systemname</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>Fehler</h1><!--END TITLE--> <!--DESCRIPTION--> <span> Der Anmeldenamen ist im System nicht vorhanden!<br> Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p> <br> <br> </span> <!--END DESCRIPTION--> </div> <!--END HEADER--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Zurück' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> </div> <!--END WRAPPER--> </body> </html> <html>"; exit; } if($row['hs'] == 'L' AND $row_ldapcon['wert1'] == 'Y'){ $ds=@ldap_connect("141.10.144.37", "389"); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ################################ ## Benutzerinfos aus LDAP setzen ################################ # bind wird benoetigt, sonst werden die Umlaute bei Namen nicht richtig angezeigt ?!!? $r=@ldap_bind($ds, $row_ldapuser['wert1'], $row_ldapuser['wert2']); $sr=@ldap_search($ds, $_ldap_dn, "samaccountname=$uid"); $info = @ldap_get_entries($ds, $sr); $anzahl = ldap_count_entries($ds,$sr); $vorname = $info[0]['givenname'][0]; $nachname = $info[0]['sn'][0]; $mail = $info[0]['mail'][0]; $first = ldap_first_entry($ds,$sr); $distinguishedName = ldap_get_dn($ds,$first); ################################ # Bind geht im hsnet nur über den DN "CN=Schwarz\, Alexander, OU=Externe Benutzer, ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de" ##!!!!! IM STUDNET MIT DEM DISTINGUISHEDNAME !!!!!!################# $password=utf8_decode($pwd); if ($bind = ldap_bind($ds, $distinguishedName, $password) AND $anzahl > 0){ #echo "Bind geht:<br>$distinguishedName | $pwd<br>$anzahl<br>"; $db = dbconnect(); $sql = $db->query ("UPDATE stud SET vorname='$vorname' ,nachname='$nachname' ,mail='$mail' WHERE uid='$uid'"); $login = "0"; }else{ #echo "Bind geht nicht:<br>$distinguishedName<br>$anzahl"; $login = "1"; } }else{ # Kehler Login $passwd = md5($_POST['pwd']); $login = "0"; if ($passwd != $row['Pwd']){ $login = "1"; $pw_failure= "1"; } } if ($row['hs'] == 'K'){ # Kehler Studenten haben ihr Passwort in Tabelle stud. Daher d�rfen Sie es selbst zur�cksetzen. $pw_zusatz ="Sie können sich ein neues Passwort an Ihre<br>Hochschul-Mailadresse schicken lassen:<br><a href=". $_SERVER['PHP_SELF'] . "?action=pass_gen>Neues Passwort setzen</a><br>"; } if ($login == 1){ // Cokkie hier, falls PW generiert werden soll setcookie("uid1",""); setcookie("uid1","$row[uid]"); # F�r Ludwigsburger Studenten soll das Passwort zur�cksetzen und per Mail zuschicken nicht angeboten werden, # da die Informationen im LDAP stehen. echo " <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Anmeldung $systemname</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>Fehler</h1><!--END TITLE--> <!--DESCRIPTION--> <span> Das eingegebene Passwort ist entweder falsch oder konnte nicht verifiziert werden.<br> Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p> <br> <br> $pw_zusatz <br> </span> <!--END DESCRIPTION--> </div> <!--END HEADER--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Zurück' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> </div> <!--END WRAPPER--> </body> </html> "; exit; } #echo "Login"; #exit; # wenn Benutzername und Passwort stimmen, dann Weiterleitung setcookie("uid1",""); setcookie("uid1","$row[uid]"); if (file_exists("balancing_ldap.php")) { echo "<meta http-equiv=\"refresh\" content=\"0; URL=balancing_ldap.php\">"; } else { if (file_exists("index_frame.htm")) { echo "<meta http-equiv=\"refresh\" content=\"0; URL=index_frame.htm\">"; }else{ ## Bei Veranstaltung und stellenantrag zB. ist es in einem weiteren Unterordner echo "<meta http-equiv=\"refresh\" content=\"0; URL=stud/index_frame.htm\">"; } } break; case "pass_gen": $uid1=$_COOKIE["uid1"]; $systemname = $_SESSION['systemname']; $pool = "qwertzupasdfghkyxcvbnm"; $pool .= "23456789"; $pool .= "WERTZUPLKJHGFDSAYXCVBNM"; srand ((double)microtime()*1000000); for($index = 0; $index < 7; $index++) { $pass_word .= substr($pool,(rand()%(strlen ($pool))), 1); } $new_pw_md5=md5($pass_word); $sql = $db->query ("UPDATE stud SET pwd='$new_pw_md5' WHERE uid='$uid1'"); // Nachricht über Passwortrücksetzung: Hinzugefügt 19.09.2006 $result2 = $db->query("SELECT uid, vorname, nachname, mail FROM stud where uid='$uid1'"); $row2 = $result2->fetch_array(); $empfaenger = "$row2[mail]"; $betreff = "Kurssystem: Passwort zurückgesetzt"; $text = " <html> <head> <title>Passwort zurückgesetzt</title> </head> <body> <font face='Arial' size='2'> Guten Tag $row2[vorname] $row2[nachname]!<br><br> Sie haben Ihr Passwort im Kurssystem zurückgesetzt!<br> Nachfolgend finden Sie Ihre neuen Zugangsdaten: <br> <br> <table> <tr> <td valign='top'> <font face='Arial' size='2'> Benutzerkennung: </font> </td> <td valign='top'> <font face='Arial' size='2'> <b>$row2[uid]</b> </font> </td> </tr> <tr> <td valign='top'> <font face='Arial' size='2'> Passwort: </font> </td> <td valign='top'> <font face='Arial' size='2'> <b>$pass_word</b> </font> </td> </tr> </table> <br> Bitte beachten Sie, dass zwischen Groß- und<br> Kleinschreibung unterschieden wird. <p> Ändern Sie bitte zu Ihrer eigenen Sicherheit das<br> Passwort nach dem ersten Login. <p> Link zum Anmeldesystem: <a href=\"http://www.fh-ludwigsburg.de/kurs\">Kurssystem</a> <p> Diese Mail wurde automatisch generiert!<br> Antworten Sie daher nicht auf diese Mail<br> <br> Vielen Dank </body> </html>"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $return = @mail($empfaenger, $betreff, $text, $headers); // ENDE Nachricht über Passwortrücksetzung if($return){ echo " <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Bestätigung</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>Bestätigung</h1><!--END TITLE--> <!--DESCRIPTION--> <span> Ihr neues Passwort wurde an $row2[mail] geschickt. <br> <br> </span> <!--END DESCRIPTION--> </div> <!--END HEADER--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Zurück' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> </div> <!--END WRAPPER--> </body> <html>"; exit; }else{ echo " <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html> <head> <!--META--> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <title>Versandfehler</title> <!--STYLESHEETS--> <link href='login.css' rel='stylesheet' type='text/css'> <link href='../login.css' rel='stylesheet' type='text/css'> </head> <body> <!--WRAPPER--> <div id='wrapper'> <!--LOGIN FORM--> <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\"> <!--HEADER--> <div class='header'> <!--TITLE--><h1>Versandfehler</h1><!--END TITLE--> <!--DESCRIPTION--> <span> Das Passwort konnte nicht verschickt werden!<br> Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p> <br> <br> </span> <!--END DESCRIPTION--> </div> <!--END HEADER--> <!--FOOTER--> <div class='footer'> <!--LOGIN BUTTON--><input name='submit' value='Zurück' class='button' type='submit'><!--END LOGIN BUTTON--> </div> <!--END FOOTER--> </form> </div> <!--END WRAPPER--> </body> <html>"; exit; } } // Ende IF von Action Abfrage ?>