• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

spam im Gästebuch

planet4

New member
hallo,

ein Gästebuch, das ich betreue, wird seit einiger Zeit fast täglich vollgespamt mit mit Einträgen über "Viagra, Phentermine" und andere obskure Dinge;
da ich mir dachte, dass das sicher kein Einzelfall ist, hab ich mal die email-Adresse, die bei diesen
Einträgen immer benutzt wird, bei Google eingegeben:

etwa 18.000 Seiten bringt Google hervor, alles Gästebuchseiten, alle vollgespamt, alle neueren Datums...

auf meinem Weg durch einige dieser Seiten hab ich ein Gästebuch gesehen, bei dem man ein paar irgendwie(?)
durch Zufall generierte Buchstaben eingeben muss, damit man einen Eintrag machen kann. Raffiniert, hab ich mir gedacht, wie geht das?

Kennt das jemand?

planet4.
 
ja hatte ich auch sehr lang...ist extrem nervig, hatten teilweise 2-3 Einträge pro Tag; dieser Spam ist ziemlich heftig, auch in wiki system etc, wo man ohne registrierung posten kann.

Das gute daran ist, dass das alles "nur" Bots sind, also kann man sie ziemluch leicht loswerden:
ich hab inzwischen in meinem Gästebuch so n Bild mit Zahlenkombi das aus dem Session hash generiert wird, den man dann abtippen muss. Seitdem das drin is hatte ich schlagartig keine unerwünschten Beiträge mehr, ist nur zu empfehlen
 
skooli schrieb:
Das gute daran ist, dass das alles "nur" Bots sind, also kann man sie ziemluch leicht loswerden:
also ganz so einfach ist das, glaub ich, nicht; dass es ein robot ist, ist mir schon klar, aber auch dahinter
sitzen irgendwo Menschen, die reagieren.

ich hab als erstes die email-Adresse, die benutzt wurde,
"ausgesperrt", dann vergingen ein paar Tage ohne spam, dann war das Problem wieder da: mit einer
anderen email-Adresse (das zeigt mir, dass doch scheinbar irgendwie "kontrolliert" wird,
ob die Einträge stattgefunden haben)

jetzt hab ich einige immer wieder vorkommende Wörter ausgesperrt und im Moment ist auch Ruhe, aber
es fragt sich, wie lange; ich glaube, dass man sie, wenn man erst mal bei ihnen "registriert" ist, nicht
so schnell wieder los wird.

eine wirksame Lösung scheint mir daher das mit den generierten Zahlen/Buchstaben zu sein.
Wie geht es, dass sie aus der Session generiert werden, wie werden sie abgebildet?

planet4.
 
ja, das hatte ich mir letztens schon angeschaut, danke.

jetzt hab ich aber doch mal das mit dem Sicherheitsfeld (Billd mit Zahlen) ausprobiert, hänge da aber
seit gestern fest, weil mir das Bild nicht ausgegeben werden kann, ich bekomme immer die
Fehlermeldung, dass es Fehler enthält, ansonsten keine Meldungen, die mir weiterhelfen.

den Code hab ich hier her

die Datei foo.php:
PHP:
<?

// verzeichnis, in dem die temporaeren dateien abgelegt werden
$DIR='../tmp';

// variable uebernehmen
// und auf zahlen pruefen:
$loesung=(isset($_POST['loesung']) ? $_POST['loesung'] : '');
if($loesung!=="") {
	$loesung=((strlen($loesung)==6) && (preg_match('/^[2-9]+$/', $loesung))) ? $loesung : md5(time());
}

$_POST['hash']=(isset($_POST['hash']) ? $_POST['hash'] : '');
$hash=((strlen($_POST['hash'])==32) && (preg_match('/^[a-f0-9]+$/', $_POST['hash']))) ? $_POST['hash'] : md5(time());

// pruefen, ob das formular schon gesendet wurde:
if ($loesung=="") {


	// formular noch nicht gesendet, erzeuge Hash, schreibe den ins Formular und binde BAR (als Bild) ein, übergib BAR den Hash
	$hash = md5(uniqid (rand()));
	echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">\n";
	echo "<p><input type=\"hidden\" name=\"hash\" value=\"".$hash."\" /></p>";
	echo "<p><img src=\"bar.php?hash=".$hash."\" alt=\"captcha\" /></p>";
	echo "<p>Gib die Lösung ein:<br /><input type=\"text\" name=\"loesung\" size=\"6\" /></p>";
	echo "</form>";

} else {

	// formular gesendet, prüfe ob datei existiert, wenn dann löschen und dann statusmeldung
	if (file_exists($DIR.'/'.$_POST['hash'].$_POST['loesung'])) {
		@unlink($DIR.'/'.$_POST['hash'].$_POST['loesung']);
		echo "<p>Richtig gelöst</p>";
	} else {
		echo "<p>Falsch gelöst</p>";
	}

}

?>
die Datei bar.php:
PHP:
<?

// Verzeichnis wo die temporären Dateien abgelegt werden
$DIR='../tmp';

// variable uebernehmen
// und pruefen, ob gueltige MD5-summe:
$_GET['hash']=(isset($_GET['hash']) ? $_GET['hash'] : '');
$hash=((strlen($_GET['hash'])==32) && (preg_match('/^[a-f0-9]+$/', $_GET['hash']))) ? $_GET['hash'] : md5(time());

// Verzeichnis wo die TTF-Schriften liegen
// die müssen durchnumeriert sein, in dem Beispiel 1.ttf - 7.ttf
// hier aktuelles Verzeichnis
$FONTS = ".";

// leeres weißes Bild erzeugen
$image = imagecreatetruecolor(155,40);
$bgColor = ImageColorAllocate($image, 255, 255, 255);
ImageFilledRectangle($image, 0, 0, 155, 40, $bgColor);

// Schriftfarbe
$color = imagecolorallocate($image,0,0,0);

// Schriftgröße
$size=20;

// unsere Zufallszahlen, die 1 ist nicht mit dabei, wegen Verwechslungsgefahr mit der 7
$A = rand(2,9);
$B = rand(2,9);
$C = rand(2,9);
$D = rand(2,9);
$E = rand(2,9);
$F = rand(2,9);

// Zahlen auf das Bild zeichnen, Position etwas variieren, zufällig eine Schriftart auswählen (1.ttf-7.ttf)
imagettftext($image, $size, 0, 5,   25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$A);
imagettftext($image, $size, 0, 30,  25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$B);
imagettftext($image, $size, 0, 55,  25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$C);
imagettftext($image, $size, 0, 80,  25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$D);
imagettftext($image, $size, 0, 105, 25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$E);
imagettftext($image, $size, 0, 130, 25+rand(0,10), $color, $FONTS.'/'.rand(1,7).'.ttf',$F);

// Header für jpeg-Bild ausgeben
header("Content-type: image/jpeg");

// Bild ausgeben und im Verzeichnis abspeichern, Dateiname aus den Zufallszahlen bilden
imagejpeg($image,$DIR.'/'.$hash.$A.$B.$C.$D.$E.$F.".jpg",90);

// Speicher vom Bild wieder freigeben
imagedestroy($image);

?>
wenn ich foo.php aufrufe, wird kein Bild angezeigt,

wenn ich bar.php aufrufe, bekomme ich die Fehlermeldung "Die Grafik kann nicht angezeigt werden, weil sie Fehler enthält."

Die Bilder selbst werden aber hergestellt, ich kann sie per Doppelklick im windows-Explorer öffnen,
sie sehen okay aus.

was könnte jetzt hier falsch sein?

planet4.
 
Zurück
Oben