Anzeige
Tutorialbeschreibung

Spambots abwehren

Spambots abwehren

Eine an sich ‚gute Idee’ jener, die spammen wollen. Grundvoraussetzung ist fürs Spammen: der eigene URL, den man verbreiten will und die Frage, wie bringe ich den URL unter (relativ viele) Leute. Die Antwort war einfach: GÄSTEBÜCHER! 


…man kann dort problemlos Einträge machen (z.B.: Werbeslogans) und wird sogar vom Gästebuch aufgefordert, den eigenen Url und die eigene E-Mailadresse einzutragen. Grundsätzlich ein Paradies für automatisiertes Spamming mit Masseneinträgen!  … aber wie abehren?  … keine Gästebücher anbieten oder vor dem Eintrag überprüfen, ob ohnehin ein Mensch den Eintrag tätigt oder ein Spamming-robot = sog. Spambot (den man ja im Gästebuch nicht will)? 

Natürlich können auch Menschen Spameinträge machen, aber nicht so viele!  … mit PHP geht es relativ einfach, Maschinen vom Eintragen auszuschließen. Ziel ist das menschliche Gehirn, das Ziffern und Buchstaben erfassen kann, die ein Robot nicht erkennt!  

Bevor wir uns dem konkreten Script zuwenden, die Zutaten: 

  1. Fonts, die OCR-Programme schlecht bis gar nicht entziffern können;  
  2. Kein HTML-Inhalt der zu entziffernden Zahlen– Buchstabenreihe, die der menschliche Eintragende wiederholen muss, sondern ein Bild (hier *.png, erzeugt mit der GD-Lib)!  
  3. Hintergrundfarben und Schriftfarbe mit wenig Unterschieden (es könnten ja auch einmal OCR-Programme entwickelt werden, die die Fonts unterscheiden anhand der von wesentlichen Farbunterschieden) 
  4. Eine Möglichkeit schaffen (auch für den menschlichen Betrachter) – sollte er einmal Ihre ‚Fonttarnung’ auch nicht entziffern können – per einfachem Klick sofort einen neuen Code zu generieren.  

Vorgehen in diesem Tutorial: 

  • Natürlich wird das entsprechende Skript erklärt, aber (da auch Fonts benötigt werden) es wird auch  
  • als *.zip  zum download angeboten, um alles sofort bei der Hand zu haben, auch die entsprechende Schrift.  

Zum Script:  

Eigentlich ist es praktisch, zwei Scripten zu machen:  

  1. index.php: enthält  
  • nur die Session (gibt somit den Sessioncode aus und  
  • vergleicht ihn mit der Eingabe des Users  

<?PHP 

session_start(); // Session starten// Überprüfung des Prüfcodes, falls das Formular ausgefüllt wurde

if (isset($_POST['submit'])){ if ($_POST['pruefcode'] == $_SESSION['code']){ 

echo "Der eingegebene Prüfcode ist richtig<br>"; // Aktionen, wenn Prüfcode richtig ist}else { 

echo "Der eingegebene Prüfcode ist falsch<br>"; // Aktionen, wenn Prüfcode falsch ist 

// Ende der Formularüberprüfung 

$_SESSION['code'] = rand(1000, 9999); // Prüfcode erzeugen und in der Session speichern // hier kann festgelegt werden, welche Zahl (diesfalls 4-stellig) zufällig für den Sessioncode ausgegeben (erzeugt) und als Prüfcode verwendet wird; man könnte auch eine 5-6-… usw. stellige Zahl nehmen ?> 

/*Hier ist nur der Formular-HTML-TEIL und der Bildname mit dem Bildcode (code.php) */ 

<html><head><title>Spambot-Abwehr</title></head><body> 

<img src="code.php">

<form method="POST" > 

<input type="text" name="pruefcode" size="10"><br> 

<input type="submit" name="submit" value="Speichern"><br /><br /> 

<form method="GET" action="javascript:location.reload()"><input type="submit" value="Aktualisieren" title="Sollten Sie den obigen Code nicht lesen können"></form></body></html>  

  1. code.php: 

<?PHP 

header("Content-type: image/png"); // Festlegung des Bildformats (hier *.png) für das Codebild 

session_start(); // Startet die Session 

$grafik = ImageCreate (80, 25); // Erzeugt ein 80x25 px großes Bild 

$hintergrundfarbe = ImageColorAllocate($grafik, 240, 240, 240); // Definiert die Farben in RGB 

$schriftfarbe    = ImageColorAllocate($grafik, 176, 177, 178);  // in RGB-Farben 

ImageTTFText ($grafik, 15, 3, 15, 20, $schriftfarbe, "/bau.ttf", $_SESSION['code']); // Sessioncode in Grafik schreiben

ImagePNG($grafik); // Grafik erzeugen

imagedestroy($grafik); // Zwischenspeicher löschen ?>  

Zum Download:

http://www.get-it.at/spambot/spambot.zip

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von ThePrinter
  • 30.10.2010 - 23:26

Achja, vielleicht bitte noch die Codes für die E-Mails einbinden, wie z.B. die Schriftfarbe, etc...

Portrait von ThePrinter
  • 30.10.2010 - 23:25

Werde ich direkt auf meine HP übertragen, das was ich gesucht habe!

Portrait von toby_2007
  • 29.06.2010 - 21:12

Einfach aber genial! Sehr schönes tutorial - Ist absoft auch in meiner Homepage integriert ;)

Portrait von Cokxxie
  • 25.02.2010 - 11:44

Ein sehr gutes Tutorial. Danke dafür ;D

Portrait von Parrot2602
  • 20.01.2010 - 13:26

Cool, vielen Dank für das Tutorial.

Portrait von Newbie123
  • 23.05.2007 - 13:47

Gute Idee und gut umgesetzt 5 Sterne!
Kleine Verbesserung Speicher doch den $_Session['code'] noch mit md5, dann wird das schon sicherer :)

mfg

Portrait von Nikman
  • 26.11.2006 - 23:17

Von der Idee her ist dieses Tutorial ein esehr gute Idee, deshalb gibt an dieser Stelle schon mal alle Sterne.
Leider weis ich nicht so recht wo ich die Dateien bzw. das Skript in meine Gästebuchstartseite implementieren soll. Kann mir vielleicht jemand helfen?

Viele Grüße

Portrait von webmastersworld
  • 26.11.2006 - 23:30

schreib konkreter, welche files dir kopfzerbrechen machen, ich versuch dann zu helfen :-) webmastersworld

Portrait von alicexx
  • 10.08.2006 - 13:47

Wunderbar dankeschoen ...

Hat mir sehr geholfen :)

Portrait von B_B
B_B
  • 24.07.2006 - 02:21

Vielen Dank für deies Tut. Es ist sehr gut beschrieben und hat mir wirklich weitergeholfen. Danke dafür.

Gruss
BB

Portrait von Hagbard666
  • 30.05.2006 - 14:32

Gute Idee sowas zu schreiben, wolte mich demnächst sowieso damit mal befassen.

Peter

x
×
×