Als Neuling in Sachen Php und Mysqli hab ich wieder einmal meine Probleme.
Ich würde gerne eine einfache IP Sperre mit Php und Mysqli ein eine Webseite einbauen.
Ich habe eine DB Tabelle ipsperre angelegt mit spalten ip varchar(20) primary key und eine spalte time int(15)
Nun hab ich schon mal folgenden ansatz.
Code
$sperrzeit = 120; // Sperrzeit in Sekunden
$ip = $_SERVER['REMOTE_ADDR']; // IP Adresse einlesen
$zeit = time(); // aktuelle Zeit in $zeit gespeichert
// Prüfen ob IP schon in DB vorhanden
$sql = 'SELECT * FROM ipsperre WHERE ip=?';
$stmt = $conn->prepare($sql);
$stmt -> bind_param('s', $ip);
$stmt->execute();
// wenn IP vorhanden
if($stmt->fetch() > 0)
{
// Sperre aktiv?
// gleiche IP?
// Restdauer der Sperre berechnen
} // Ende wenn IP vorhanden
// Was wenn IP noch nicht in DB ?
else
{
$sql = 'INSERT INTO ipsperre (ip, time) VALUES (?, ?)';
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $ip, $zeit);
$stmt->execute();
$stmt->close();
echo "IP Adresse noch nicht vorhanden <br> Sie wurden eingetragen";
} // Ende IP noch nicht vorhanden
Alles anzeigen
im Template bräuchte ich dann
in etwa so eine Ausgabe
Code
if(sperre aktiv) {
echo "Du musst noch (?) Sekunden warten !!!";
}
else {
echo "<br>IP-Adresse nicht gesperrt";
}
Ich weiß nicht ob der Ansatz überhaupt zu was zu gebrauchen ist, vielleicht könnte mir da mal bitte jemand helfen.
Und bitte nicht lachen das ich alles so auskommentiert habe