Willkommen in der Webstatt Zum Webstatt Blog und Stories
phore phore am 06.07.07 14:22

Hallo Leute

Ich habe eine Bitte, und zwar habe ich immer noch Spameinträge in einem Gästebuch einer Seite die ich betreue. Captcha ist installiert, hin und wieder schaffen es trotzdem ein paar Bots.

Die Spameinträge haben ja alle immer viele Links drin, jetzt meine Frage: hat jemand eine Funktion die zählt wieviele Links in einem String vorkommen? Oder könnte jemand eine solche Funktion schreiben? Ich habe leider keine Ahnung wie ich das schreiben könnte.

Wäre super praktisch, dann könnte ich alle Einträge sperren die mehr als 2-3 Links enthalten.

Danke schonmal!

Gruss

netcup.de Warum gibt es hier Werbung?
nuit nuit am 06.07.07 14:49

sollte es eigentlich sein....
function countlinks($string) {
preg_match_all("/<a.*?>/is",$string,$match);
return count($match[0]);
}


mhh...geht es auch irgendwie ohne RegExen...mir fällt grad keine methode ein, bin auch müde -.-

der_nic der_nic am 06.07.07 16:01

theoretisch könntest du auch mit substr_count() überpfrüfen wie oft ein "href" im String vorkommt... dann hättest du auch (fast) alle Links.

nuit nuit am 06.07.07 23:23

Quote
Original von der_nic
theoretisch könntest du auch mit substr_count() überpfrüfen wie oft ein "href" im String vorkommt... dann hättest du auch (fast) alle Links.

nachteil: wenn der String dann ist: href href href href
dann siehts schlecht aus -.- aber das wird kaum einer schreiben :D

CIX88 am 16.07.07 19:06

Quote
preg_match_all("/<a.*?>/is",$string,$match);

Diesen Ausdruck würde ich verfeinern, falls ein <a name=...> auch noch vorkommt.

Falls PHP5 vorhanden ist, kann man auch preg_replace() mißbrauchen.
Seit PHP5 gibt es hier einen 5 Parameter, der alle Ersetzungen mitzählt.
Natürlich wird dabei nicht wirklich ersetzt, man erfasst nur diesen Wert.

phore phore am 23.07.07 08:21

Ich weiss langsam nicht mehr wie ich diese scheiss Spam bots bekämpfen soll. Zuerst ein Captcha rein -> war zu unsicher, dann ein besseres Captcha rein -> auch zu unsicher, dann diese Links-zählen Funktion -> und jetzt kommen Beiträge wie "Nice Website ;)" und als Webseite geben sie ihre Spam Adresse an.

Wie macht ihr das mit der ganzen Spam Geschichte? Hat jemand schonmal ein Filter gebaut, mit Bad-words und so?

Gruss

CIX88 am 23.07.07 09:35

Da stellt sich mir doch die Frage wie dein Captcha eingebaut wurde.

Thiemm Thiemm am 23.07.07 10:59

Die Einträge kommen doch sicherlich von Servern ausm Ausland?

Dann könntest du die IPs sperren bwz. nur deutsche zulassen.
Hier gibt es eine CSV, mithilfe der man der IP das Land zuordnen kann: http://ip-to-country.webhosting.info/

phore phore am 23.07.07 12:20

Hm, möchte lieber keine IP's sperren, da z.T. auch normale Einträge aus dem Ausland kommen. Ein Content Filter wäre wahrscheinlich die bessere Lösung meinst du nicht?

Thiemm Thiemm am 23.07.07 12:23

dann viel spaß :D sind doch nicht immer die selben einträge, wie du bereits festgestellt hast.

zeig mal dein gästebuch :rolleyes:

phore phore am 23.07.07 12:27

nein, aber in den url's der webseite kommt ja meistens was mit porn oder produkten..

http://server25.hostpoint.ch/~zeroweb/vcit/?load=gaestebuch&add=new

CIX88 am 23.07.07 12:29

Quote
Original von Thiemm
Die Einträge kommen doch sicherlich von Servern ausm Ausland?

Dann könntest du die IPs sperren bwz. nur deutsche zulassen.
Hier gibt es eine CSV, mithilfe der man der IP das Land zuordnen kann: http://ip-to-country.webhosting.info/


Na ob das ne gute Idee ist, bei jedem Eintrag erst über 77000 Einträge abzusuchen ?
Denkt auch mal ein wenig an die Performance.

phore phore am 24.07.07 13:05

thiemm? :rolleyes:

Thiemm Thiemm am 24.07.07 13:21

Das Captcha sieht gut aus. Wundert mich, dass die Bots das knacken ;(

Handelt es sich vll dabei um ein fertiges Script? Dann könnte es sein, dass die Bots die Grafik kennen und es somit kein Problem für sie ist.

Denn warum sollten sie sich ausgerechnet auf dein Gästebuch spezialisieren!?

CIX88 am 24.07.07 18:15

> Das Captcha sieht gut aus. Wundert mich, dass die Bots das knacken

Falsch, dass es funktioniert konnte ich eben selber testen.
Testeintrag 24.07.2007 - 18:16

Und dabei habe ich gar nicht das Captcha benutzt !
Das ist die Schwachselle beim Gästebuch !

Wenn jemand einfach kein Session-Cookie animmt (also Bots etc...) dann darf auch kein Eintrag erfolgen.
Dann nutzt auch ein Captcha nichts :)

phore phore am 24.07.07 22:52

das script ist von bnightspeeder. die grafik von mir, fonts ausgetauscht, farben geändert usw.

danke für den hinweis, ich habe mal eine entsprechende Abfrage eingebaut. Scheint zu funktionieren.

CIX88 am 25.07.07 08:56

Besser wäre es wenn gleich ein Hinweis kommt, wenn kein Cookie angenommen wird.
Ist halt Benutzerfreundlich :)

phore phore am 25.07.07 13:26

naja ich denke nicht dass das oft vorkommen wird :)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt