SEO-Software von Suchmaschinenoptimierung.de

SPAM im Gästebuch - Ich habe die Nase voll!

(hier klicken, um zum Original Thread zu gelangen)
der_nic
nun manche bots erkennen ob ein input hidden ist... -> style="display:none;"
tempo72
Ich bekomme folgende Meldung:

Parse error: parse error, unexpected '[' in /homepages/6/d83115370/htdocs/gaestebuch.php on line 131


Hier noch mal der entsprechende Quelltext:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
              <?PHP
// neuen Eintrag speichern
$time=time();
$ip=$REMOTE_ADDR;
if ($aktion=="save")
	{
	if (!empty($website)){ 
[...] 
}
	if ($neuname<>"" AND $neueintrag<>"")
		{
		$sperrzeit=$time-$sperre*60;
		$gesperrt=mysql_query("select id from Gaestebuch where ip='$ip' AND time>'$sperrzeit'");
		if (mysql_num_rows($gesperrt)==0)
			{
			$neueintrag=htmlentities($neueintrag);
			mysql_query("insert into Gaestebuch (name, mail, homepage, eintrag, kommentar, vote, time, ip) values ('$neuname', '$neumail', '$neuhomepage', '$neueintrag', '', '$neuvote', '$time', '$ip')");
			// Mail senden
			if ($admin_mail <> "")
				{
				$zeit = date("d.m.Y H:i",$time);
				$mailtext="Eintrag von: $neuname \n";
				$mailtext.="Mail: $neumail \n";
				$mailtext.="geschrieben am: $zeit \n\n\n";
				$mailtext.="$neueintrag\n\n";
				mail($admin_mail, 'Sie haben einen neuen G&auml;stebuch Eintrag.', $mailtext);
				}
			}
			$aktion="";$neuname="";$neumail="";$neuhomepage="";$neueintrag="";$neuvote="";
		}
	}



.....

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
// Neuen Eintrag eingeben
if($neuhomepage==""){$neuhomepage="http://";}
?>
</h4>
            <table width="97%" align="center" cellpadding="2" cellspacing="0" <?PHP echo "bgcolor=\"$table_back\" style=\"border:solid $rahmen 1px;height:1px;\""; ?>>
              <tr>
                <td align="center"><a href="#" onClick="NeuerEintrag.style.display='block'" style="text-decoration:none"><?PHP echo"<font color=\"$text\"><strong>Jetzt ins G&auml;stebuch eintragen</strong></font>";?></a><br>
                    <form name="NeuerEintrag" method="post" action="gaestebuch.php" <?PHP if ($aktion<>"save") {echo"style=\"display:none;\"";} ?>>
                      <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td width="150" align="right" valign="top"><?PHP echo"<font color=\"$text\">Name*&nbsp;:&nbsp;</font>";?></td>
                          <td width="400" align="left" valign="top"><input name="neuname" type="text" value="<?PHP echo $neuname; ?>" size="15">                          </td>
                        </tr>
                        <tr>
                          <td align="right" valign="top"><?PHP echo"<font color=\"$text\">Mail&nbsp;&nbsp;:&nbsp;</font>";?></td>
                          <td align="left" valign="top"><input name="neumail" type="text" value="<?PHP echo $neumail; ?>" size="15">
                              <?PHP echo"<font size=\"2\" color=\"$text\">Ist nur dem Admin sichtbar.</font>";?></td>
                        </tr>
                        <tr>
                          <td align="right" valign="top"><?PHP echo"<font color=\"$text\">Homepage&nbsp;&nbsp;:&nbsp;</font>";?></td>
                          <td align="left" valign="top"><input name="neuhomepage" type="text" value="<?PHP echo $neuhomepage; ?>" size="15"></td>
                        </tr>
                        <tr>
                          <td align="right" valign="top"><?PHP echo"<font color=\"$text\">Bewertung&nbsp;&nbsp;:&nbsp;</font>";?></td>
                          <td align="left" valign="top"><select name="neuvote" size="1">
                              <option selected value="0">0 - Keine Angabe</option>
                              <option value="5">5 - Sehr gut</option>
                              <option value="4">4 - Gut</option>
                              <option value="3">3 - ist O.K.</option>
                              <option value="2">2 - geht so</option>
                              <option value="1">1 - Schlecht</option>
                            </select>
                              <?PHP echo"<font size=\"2\" color=\"$text\">Bitte bewerten Sie meine Seite.</font>";?></td>
                        </tr>
                        <tr>
                          <td align="right" valign="top"><?PHP echo"<font color=\"$text\">Kommentar*&nbsp;:&nbsp;</font>";?></td>
                          <td align="left" valign="top"><p>
                            <textarea name="neueintrag" cols="22" rows="6"><?PHP echo $neueintrag; ?></textarea>
                            </p>
                            <p><input name='website' type='text' id="website" size='5' maxlength='33' />
                            <br>
                                <input type="submit" name="Submit" value="Jetzt eintragen">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                              <input type="reset" name="Submit2" value="Nee, doch nicht" onClick="NeuerEintrag.style.display='none'">
                              <br>                          
                              </p></td>
                        </tr>
                      </table>
                      <input name="aktion" type="hidden" id="aktion" value="save">
                  </form></td>
              </tr>
            </table>
            <br>
            <?PHP
der_nic
hast du das wirklich so im code?
php:
1:
2:
3:
<?php if (!empty($website)){ 
[...] 
} ?>


klar das dir das [...] ein fehler macht...
tempo72
Oooh.... Ok, das hab ich jetzt behoben....
Allerdings, wenn ich das Feld sichtbar lasse, um es zu testen und dieses Feld ausfülle, erscheint der Eintrag trotzdem im GB....
der_nic
bei der überprüfung _MUSS_ das feld ja leer sein... weil du sonst ein bot bist, der alles ausfüllt

if(empty($leer)) { //wenn _LEER_
//eintrag
}
tempo72
Nein, ich meine, ich habe es jetzt mal getestet und das Feld sichtbar gelassen. nun habe ich ganz normal das formular ausgefüllt, da ich ja jetzt gerade mal den bot gespielt habe... natürlich habe ich dann auch das eigentlich unsichtbare feld ausgefüllt...
aber der eintrag erscheint trotzdem im gb...
tempo72
Hat keiner eine Idee, warum das bei mir nicht funktioniert?
MasterMax
Hmmm... hab das auch mal so gemacht, aber obwohl die Abfrage funktioniert und wirklich nur dann gepostet wird, wenn "schutz" leer ist, schreibt mir dieser Mistbot weiterhin seinen Müll in mein Gästebuch...

lg Max
Commander
bei mir ist das leider auch der Fall.
Ich denke, dass die Abfrage eines Bildes wohl am sicherstem wäre...
sc0pe
Zitat:
Original von MasterMax
Hmmm... hab das auch mal so gemacht, aber obwohl die Abfrage funktioniert und wirklich nur dann gepostet wird, wenn "schutz" leer ist, schreibt mir dieser Mistbot weiterhin seinen Müll in mein Gästebuch...

lg Max


wahrscheinlich ignoriert er das hidden einfach Augenzwinkern
Naibao
Zitat:
Original von sc0pe
Zitat:
Original von MasterMax
Hmmm... hab das auch mal so gemacht, aber obwohl die Abfrage funktioniert und wirklich nur dann gepostet wird, wenn "schutz" leer ist, schreibt mir dieser Mistbot weiterhin seinen Müll in mein Gästebuch...

lg Max


wahrscheinlich ignoriert er das hidden einfach Augenzwinkern


Dann mach doch einfach mal style="display:none;"
marIus
oder er ist bereits dahinter gekommen (der spammer)
bimbel
Anstatt des Captcha's könnt man auch einfach nen festes Wort/Zahl (Bild) nehmen und im Begleittext sagen, dass man das Wort/ die Zahl verkehrt herum eingeben muss oder nur die ersten 2 Buchstaben eingeben lassen.

Ich glaub kaum das ein Bot text interpretieren kann und rausfindet das er rückwärts schreiben muss bzw nur bestimmte Buchstaben/Zahlen braucht Augenzwinkern

Außerdem würde ich mal gerne wissen, wie oft die 'Hersteller' ihre Bots mit den neusten Tricks updaten...
marIus
hm

stell dir vor ein älterer herr mitte 50 erste mal im internet will in dein gästebuch schreiben. ich glaube kaum das er in der lage ist deinen code zu entschlüsseln und zu verstehen smile

das ist auch das hauptproblem was ich vermute und kenne


tipp tipp und klick geht

denken + tipp tipp = problem
Butschy
@bimbel, die idee finde ich nicht schlecht Augenzwinkern

der 50 jährige muss dann halt draussen bleiben Augenzwinkern

[nachrag]
code:
1:
2:
<span style='display: none;'><input type='text' name='WICHTIG' size='5' maxlength='33' /></span>
bei WICHTIG muss unbedingt ein feldname rein den ein bot nicht wiederstehen kann und das kann nur "email", "homepage", 'website' etc. sein.

Gruß bUTschy
MisterX
Gästebuch - Spam verhindern
Zur Zeit gibt es im Netz sehr viele Robots die Gästebücher zuspammen. Immer wieder wird versucht BBCode oder HTML-Code auszunutzen. Bei diesen Bots geht es einzig und allein darum Backlinks zu kriegen und im Suchmaschinenranking zu steigen. Um zu verhindern das sich solche Bots in Ihr Gästebuch eintragen gibt es mehrere Möglichkeiten.

siehe hier:



form method="POST" action="guestbook.php">


<!-- ANFANG DER FALLE -->
<div style="width:0px;height:0px;overflow:hidden;display:none">
URL: <input type=text name=url><br>
Text: <input type=text name=text><br>
Name: <input type=text name=name><br>
Email: <input type=text name=email><br>
</div>
<!-- ENDE DER FALLE -->

Name: <input type=text name="588gfdglfd"><br>

Email: <input type=text name="488ffsjl"><br>

URL: <input type=text name="ldsdsi48sdfl" value="http://"><br>

Text: <textarea name="x384Xfdffrfl"></textarea><br>


<input type="submit" value="Eintragen" name="submit">
</form>




<?

$name = $_POST['588gfdglfd'];

$email = $_POST['488ffsjl'];

$url = $_POST['ldsdsi48sdfl'];

$text = $_POST['x384Xfdffrfl'];


if(isset($_POST['url']) OR isset($_POST['text']) OR isset($_POST['name']) OR isset($_POST['email']))

// Für den Fall das ein Bot in de Falle tritt

{

sleep(50);
DIE("Du bist ein Scheiss Bot, verpiss dich");
//

}

else {
TrioxX
Quellangabe?

Beispielsweise --> http://www.skoom.de/tutorials/antispam/g...spam-nospam.xtc

???

Sollte man zwischenzeitlich nutzen, sonst kanns böse enden Augenzwinkern
suam111
bin gespannt ob das mit dem Wort als spamschutz eintragen funktioniert

habs mal geteste
das mit dem hidden feld hat nicht geklappt

hoff das das hier funktioniert
glaub aber eher nicht

am abend wissen wir mehr Augenzwinkern
web4me
sollte es ein Spam Bot sein, gibt es noch eine schicke htaccess Lösung,

siehe z.B. hier http://www.gidforums.com/t-1743.html
phpnero
Zitat:
Original von web4me
sollte es ein Spam Bot sein, gibt es noch eine schicke htaccess Lösung,

siehe z.B. hier http://www.gidforums.com/t-1743.html


nur muss man da alle bot's eintragen und ob das auch alle sind die auf der seite stehen? hmmmm
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.