111 lines
4.0 KiB
PHP
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ültiger Login-Versuche überschritten.<br><a href='reset-password'>Passwort zurü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ücksetzen</a></p>
|
|
</div>
|
|
");
|
|
}
|
|
$_SESSION["showNoLoginInfo"] = '';
|
|
|
|
?>
|