Files
vokspace/files/loginscript.inc.php
2026-01-02 21:00:45 +01:00

111 lines
4.0 KiB
PHP

<?php
session_start();
$BenutzernameSESSION = $_SESSION["Benutzername"];
$PasswortSESSION = $_SESSION["Passwort"];
$BenutzernamePOST = strip_tags(htmlentities($_POST["Benutzername"]));
$PasswortPOST = strip_tags(htmlentities($_POST["Passwort"]));
$LoggedIn = 'false';
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$BenutzernameSESSION' AND `Passwort` = '$PasswortSESSION'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
$LoggedIn = 'false';
}
else {
$LoggedIn = 'true';
$Benutzername = $BenutzernameSESSION;
$Passwort = $PasswortSESSION;
}
if($LoggedIn == 'false') {
if($BenutzernamePOST == '' || $PasswortPOST == '') {
$Benutzername = $BenutzernameSESSION;
$Passwort = $PasswortSESSION;
}
else {
$Benutzername = $BenutzernamePOST;
$Passwort = $PasswortPOST;
$Passwort = hash('sha512',$Passwort);
}
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername' AND `Passwort` = '$Passwort'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
$LoggedIn = 'wrongData';
}
else {
$LoggedIn = 'true';
}
}
if(empty($BenutzernamePOST) && empty($PasswortPOST) && empty($BenutzernameSESSION) && empty($PasswortSESSION)) {
$LoggedIn = 'false';
}
if($LoggedIn == 'false' && $_SESSION["showNoLoginInfo"] != 'true') {
?>
<p style="color: #FF7575;">Die VokabelBox wird am 01.07.2021 abgeschaltet. Bitte benutze den Nachfolger <a target="_blank" href="https://www.timvandenboom.de/vokspace/">VokSpace</a>.</p><br>
<p>Bitte melde dich an, um deine Vokabeln zu sehen und zu bearbeiten.</p>
<button class="classic-button classic-button-grey" onclick='window.location.href="login?forward=<?php print("$sitename"); ?>"'><i class="fas fa-sign-in-alt"></i> Einloggen</button>
<?php
}
if($LoggedIn == 'true') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$UngueltigeLogins = $articleDb->UngueltigeLogins;
}
if($UngueltigeLogins >= '4') {
$LoggedIn = 'blocked';
}
}
if($LoggedIn == 'true') {
$conn->query("UPDATE `VokabelBoxUsers` SET `UngueltigeLogins` = '0' WHERE `Benutzername` = '$Benutzername'");
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
if($BenutzernamePOST == '' || $PasswortPOST == '') {}
else {
$_SESSION["errorCode"] = 'loginSuccess';
}
}
if($LoggedIn == 'wrongData') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$UngueltigeLogins = $articleDb->UngueltigeLogins;
}
$UngueltigeLogins = $UngueltigeLogins + 1;
$conn->query("UPDATE `VokabelBoxUsers` SET `UngueltigeLogins` = '$UngueltigeLogins' WHERE `Benutzername` = '$Benutzername'");
if($UngueltigeLogins >= '4') {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Anzahl ung&uuml;ltiger Login-Versuche &uuml;berschritten.<br><a href='reset-password'>Passwort zur&uuml;cksetzen</a></p>
</div>
");
}
else {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Benutzername oder Passwort sind falsch!<br><a href='login'>Erneut versuchen</a></p>
</div>
");
}
}
if($LoggedIn == 'blocked') {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Dein Konto wurde aufgrund zu vieler Anmeldeversuche gesperrt.<br><a href='service/password/forgot-password'>Passwort zur&uuml;cksetzen</a></p>
</div>
");
}
$_SESSION["showNoLoginInfo"] = '';
?>