'Verseuchte' Gästebücher

radarin

Angesehenes Mitglied
Hallo Liste

Ich habe unterschiedlich programmierte Gästebücgher im Einsatz und alle werden sie mit Einträgen für Viagra, Cialis, Poker, Roulette und Pornoseiten massiv überfüllt.
Alle Eintragsformulare haben gemeinsam, dass Name, eMail, URL und Text eingegeben und dann abgeschickt wird. Die Publikation erfolgt augenblicklich.

Ich habe mir überlegt, eine Moderatorenfunktion einzubauen und nur Einträge freizuschalten die den Nutzungsbedingungen der Webseite entsprechen. Dies verhintert aber noch nicht die massigen Einträge und die unnötige Arbeit für den Moderator.

Wenn ich einen zufälligen Zahlencode als Grafik anzeige der eingegeben werden muss, muss ich da auf was bestimmtes achten, damit Roboter über den Quellcode die Funktion nicht umgehen können..?

Gruss René
 
Hallo,

QUOTE (radarin @ So 12.3.2006, 14:09)[...] Wenn ich einen zufälligen Zahlencode als Grafik anzeige der eingegeben werden muss, muss ich da auf was bestimmtes achten, damit Roboter über den Quellcode die Funktion nicht umgehen können..? [...]

Du solltest darauf achten, das der Code selber nicht im Quelltext der Seite steht, ansonsten sind die normalen Sicherheitsregeln zu beachten, wie bei jedem Formular.


MfG Sascha Ahlers
 
Mache da einen ganz normalen POST und dann ein SQL Query. Gibts da noch stolperfallen die ich vielleicht übersehen habe..?
 
QUOTE (radarin @ So 12.3.2006, 14:36) Mache da einen ganz normalen POST und dann ein SQL Query. Gibts da noch stolperfallen die ich vielleicht übersehen habe..?

Probiere es einfach mit einer ganz simplen Grafik (Bestätigungscode) aus.

Die meisten Bots sind da sicher zu faul, das zu analysieren, da es einfach noch genug Gästebücher ohne Code gibt.

Viele grüße!
 
Ich habe neulich einmal eine originelle Idee einer Gästebuchsperre gesehen: Einfach eine Rechenaufgabe reinschreiben:


Was ist 5 * 3?

Wird 15 zurückgesandt, dann wird der Eintrag angenommen.

Man könnte natürlich auch

Was ist fünf multipliziert drei?

anbieten. Das könnte von der Implementierung sogar einfacher sein als diese üblichen Grafikdinge.
 
Also das Grafikding ist keine Problem. Zufallszahl und Grafikname nicht identisch

CODE
<?php
$dir = "code";
$grk = "gif";

$i = 1;
$seaftycode = "";
while ($i <= 6) {
$zfl = rand(1,9);
if ($zfl == 1){$img = "$dir/a.$grk";}
if ($zfl == 2){$img = "$dir/b.$grk";}
if ($zfl == 3){$img = "$dir/c.$grk";}
if ($zfl == 4){$img = "$dir/d.$grk";}
if ($zfl == 5){$img = "$dir/e.$grk";}
if ($zfl == 6){$img = "$dir/f.$grk";}
if ($zfl == 7){$img = "$dir/g.$grk";}
if ($zfl == 8){$img = "$dir/h.$grk";}
if ($zfl == 9){$img = "$dir/i.$grk";}
echo "<img src=\"$img\">";
$seaftycode = $seaftycode.$zfl;
$i++;
}
echo $seaftycode;
?>



Kann es Sein dass der Wert im Hiddenfeld vom Roboter erkannt werden kann..?
 
Laut Quelltext ist dein Code leicht aufindbar

CODE <tr>
<td bgcolor="#FFF2D2"><p class="feldname_r">Sicherheitscode *</p></td>
<td bgcolor="#FFF2D2">
<img src="guestbook/img/code/f.gif"><img src="guestbook/img/code/g.gif"><img src="guestbook/img/code/g.gif"><img src="guestbook/img/code/b.gif"><img src="guestbook/img/code/h.gif"><img src="guestbook/img/code/g.gif"> <p class="text">

<INPUT TYPE="text" NAME="formcode" VALUE="" SIZE="30" MAXLENGTH="6" onfocus="this.style.backgroundColor='F3E6BC'" onblur="this.style.backgroundColor='FFFAED'" class="eingabe" tabindex="1">
<INPUT TYPE="hidden" NAME="seaftycode" VALUE="677287">
<br>
Die Zahlen der Grafik korrekt ins Feld eintragen
</td>
</tr>
<tr>
<td bgcolor="#FFF2D2"><


Ich kenne mich mit der Programmierung schlecht aus jedoch ist der Code schnell auffindbar.
 
Äh - das was da als 'Schutz' eingesetzt wird, ist ja kein Schutz. Da wird

249988

angezeigt und im Seitencode steht exakt dasselbe drin:


<INPUT TYPE="hidden" NAME="seaftycode" VALUE="249988">


Das kann man wegschmeißen.

Edit: 0.001 zu langsam.
 
wink.gif
 
Oh sorry radarin,

das Lachen ( der Smilie ) war nicht an dich gedacht sondern dass ich und jAuer den fast gleichen Beitrag in der fast gleichen Zeit abgeschickt haben. War nicht auf deine Problematik oder deine Arbeit hinzuführen.

Sorry für dass Missverständnis
 
Ich verschlüssle den Code nun mit md5 bevor ich ihn ins Hidden-Feld schreibe. Werde ja sehen ob das nützt... ;-)
 
Eine recht ungewöhnliche aber scheinbar effektive Maßnahme ist die Gästebuchseite einfach umzubenennen.
Da die meisten Bots nach "guestbook" suchen hilft schon die Änderung des Seitennamens zu "gaestebuch".

Siehe: Spam wegen Dateiname Gästebuch
 
Wenn auch spät, muss ich noch meinen Senf hier beigeben
wink.gif


Ich würde wie auch schon gesagt, einen Bestätigungscode in einem Bild anzeigen lassen. Dabei aber sicherlich kein Cookie oder hidden input feld verwenden.

Beides ist wohl zu riskant.
Einmal weil das hiddenfeld den code anzeigt. Da nützt auch kein MD5 verschlüsseln nichts, da du dann selber den code nicht mehr als reinen korrekten Code vergleichen kannst.

Cookie sind wiederum von Paar usern deaktiviert bzw. lassen sie nicht zu.

Drum greif doch ganz einfach auf die serverseitige session funktion zurück
wink.gif


Einfach den code in einer session abspeichern, diese bleibt aufm server. Anschliessend beim absenden des beitrags vom User vergleichst du das $_POST feld mit dem werd in der session. Und schon hast ne sichere Möglichkeit.
 
QUOTE (BlackCrow @ So 19.3.2006, 12:29)Wenn auch spät, muss ich noch meinen Senf hier beigeben
wink.gif


Ich würde wie auch schon gesagt, einen Bestätigungscode in einem Bild anzeigen lassen. Dabei aber sicherlich kein Cookie oder hidden input feld verwenden.


Ich glaube, die Variante mit der MD5-Verschlüsselung dürfte schon funktionieren, da es für MD5 keinen Entschlüsselungsalgorithmus gibt und man somit den Klartext nicht rekonstruieren kann.

Dann kann man doch einfach die Eingabe des Users mit MD5 verschlüsseln und dieses Resultat mit dem bereits ermittelten MD5-Code aus dem Hidden-Field vergleichen. Man muss einfach gut aufpassen, dass der Klartext nicht aus dem Quelltext ersichtlich ist.
 
@polonius

ist ja auch wieder war. Wenn du den md5 wert dann an den serverschickst wird nochmal ein md5 ausm md5 wert berechnet und somit kommt wider ein anderer raus.

Ich finde die hidden-input variante trotzdem nicht allzu komfortabel dafür. Ich würde auf jeden fall auf Session's setzen..
 
Vielleicht einfach mal das Gästebuch selbst wechseln ?
Das kostenlose Teil von Woltlab zB. die haben auch das Spamprob gelöst,
und die Nutzer haben Ruhe.
wink.gif
 
Zurück
Oben