IP-Sperre für Gästebuch

CHAKKA1992

Mitglied
Hallo an alle
Ich habe auf meiner Homepage ein Gästebuch mit PHP eingebaut. Nur leider wird mein Gästebuch von jemandem vollgespammt. Kann ich diesem einen weiteren Gästebucheintrag mittels IP-SPERRE verbieten? Oder sogar den Zugriff auf die Seite?

Dass ihr euch dass mal anschauen könnt:
http://andre-stumpp.de.tf

Würde mich über hilfe freuen.

MFG
chakka1992
 
Klar ist es möglich einem Benutzer mit einer bestimmten IP-Adressen den Zugriff beziheungsweise die Benutzung zu verwehren.
 
Hallo CHAKKA1992,

folgender Link sollte dir weiterhelfen:

LINK

@ Gumbo,
kann man einen User mit wechselnden IP Adressen
eigentlich auch dauerhaft ausschließen, also anhand
anderer Identifikationsmerkmale? (außer Cookie)
 
blount hat gesagt.:
kann man einen User mit wechselnden IP Adressen
eigentlich auch dauerhaft ausschließen, also anhand
anderer Identifikationsmerkmale? (außer Cookie)

Bin zwar nicht Gumbo, antworte aber trotzdem mal.

Du könntest ihn bitten ein Browserplugin zu installieren dass den Zugriff auf dein Gästebuch sperrt.
Ansonsten hast du da keine große Chance.
 
@blunt DEr Threadersteller hat ein GB-Problem und kein Counter-Problem :p

@Topic Das Thema findest du in der Suche zu Haufe
Stichwort:
- Ipsperre
- Captcha
- hidden Feld

mfg
 
Danke, ich habe das nun eingebaut. Nur jetzt ergiebt sich ein neues Problem: da kommt immer ein Fehler:
enexpected $end

Was bedeutet das?
Hier der Quelltext:
Code:
<?php
class ip_check{
var $pfad; 
var $sperrzeit;
var $ip;
var $array;
var $zeigezahl;  
function ip_pruefen()
{
// CONFIG
$this -> pfad = "gb_ip.txt";
$this -> sperrzeit = 60*60;
// CONFIG ENDE  
$this -> ip = $_SERVER['REMOTE_ADDR'];
$this -> datei = file($this -> pfad); // or die("Datei nicht eingelesen"); 
if (isset($this -> ip) && !empty($this -> ip)){$this -> zeigezahl = 1; //Dient dazu, um zu sehen, ob IP gespeichert ist oder nicht// 1 noch nicht vorhanden // 0 vorhanden// --> 0 oder 1 (true oder false wird an gbook.php übergeben// wird in if- Klausel abgefragt und je nach Wert wird Eintrag gespeichert// oder nicht 
for ($i = 0 ;
$i < count($this -> datei) ;
$i ++){$daten= explode("|", $this -> datei[$i]);
$sperre_ende=$daten[1] + $this -> sperrzeit;

if ($daten[0] == $this -> ip) // Wenn IP gespeichert, auf Speicherzeit überprüfen
{ 
if ($sperre_ende >= time())
{// Sperre noch nicht abgelaufen
$this -> zeigezahl=0;
$verbleibend = $sperre_ende - time();
$verbleibend_s = $verbleibend % 60;
$verbleibend_min = ($verbleibend-$verbleibend_s) / 60;
$string= "Du kannst erst in $verbleibend_min:$verbleibend_s Minuten wieder etwas ins Gästebuch schreiben.<br>"; // Gibt aus, wie lange Sperre noch aktiv (derzeit deaktiviert)break; }} 
if ($sperre_ende < time())
{
($this -> datei[$i]); // Zeile des entsprechenden Eintrages löschen (wird dadurch nachfolgend nicht mehr in Datei geschrieben)} } 
$this -> ip_schreiben();
}
else
{
$this -> zeigezahl = 0;}  
return array($this -> zeigezahl, $string);
} 

function ip_schreiben()
{ 
if (isset($this -> ip) && !empty($this -> ip)){ $fp=fopen($this -> pfad, "w") or die ("Datei konnte nicht geöffnet werden");
$daten=""; 
if ($this -> zeigezahl == 1) // Falls IP schon geschrieben, nicht nochmal schreiben.
{$daten=array($this -> ip, time()); // Array Daten aus IP und aktuellen timestamp 
$string=implode("|", $daten); // Array Daten wird über Trennzeichen "|" zusammengefügt 
fputs($fp, $string."\n");
}
fputs($fp, implode("", $this -> datei));
fclose($fp); 
}
}
}
?>

<hr size="4" color="#FFCC33">
<?php
$contents = file_get_contents("book.txt");
echo($contents); // Alle einträge ausgeben!

?>
    </td>
  </tr>
</table>
<hr color="#FFCC33" size="5"><marquee bgcolor="#333333" direction="left">
<?php
$reload = file_get_contents('news.txt');
echo($reload);
?>

MFG
chakka1992
 
Zurück