perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 18
Click for quality!




11.02.2012 / 07:20

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSpameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
Hallo Perl Freaks :)

ich habe ein hoffentlich kleines Problem. Auf unserer Homepage www.feuerwehr-wernau.de ( das soll keine Werbung sein) haben wir ein perl/cgi Gästebuch. Zur Zeit leider mit sehr vielen spam Einträgen wie z.B. Visit http://www... usw.

Im Script gibt es schon kleine Programmzeilen die zu wenig Text oder zuviel Text aussondern sollen Ausschnitte des Scripts folgen unten.

--> Nun hab ich mir gedacht ( Bin selbst Perl Anfänger ) Ich schreibe eine Schleife rein die das Textfeld Buchstabe für Buchstabe durchsucht und diese Wörter oder einfach Buchstaben Aneinanderkettungen wie "http" "www" findet, mit den zuvor angegebenen wörtern vergleicht und dann sofort rausschmeisst bzw. eine html datei öffnet...

hab schon verschiedenes versucht aber leider hat es bisher nicht geklappt :(

Ich hoffe Ihr könnt mir mit den paar Programmzeilen helfen :)

Was auch Möglich wäre das Gästebuch speichert alle Einträge in einer textdatei data.txt

Dort immer die letzte Zeile unterscuhen und bei bedarf rauslöschen aber ich habe auch keine Ahnung wie ich das anstellen soll :(

Jetzt kommt das so wie ichs mir vorstelle aber leider nicht umsetzten kann...

### Spameintraege finden#############

wenn im Textfeld $bösewörter gefunden werden
z.B. "http" oder "www"

then open html file

and exit :)

und das sind ein paar programmzeilen aus dem script...

### counting words. the user is already locked -> flood protection #############

$zeile = $FORM{'comments'};
for ($i=0;$i<length($zeile);$i++) {
if (substr($zeile,$i,1) eq " ") {
$woerter++;
}
}
$woerter++;
if ($woerter < $min_words) {
cat("$htmldir/err_less_words.html");
exit;
}

### counting characters af any word -> flood protection ##########################

@all_words = split / /, $zeile;
foreach $wort (@all_words) {
$i=0;
my @buchstaben = map $i++, split //, $wort;
if ($i > $max_chars) {
cat("$htmldir/err_long_words.html");
exit;
}
}

Datum: 01.06.2006-20:02

Beitragre: Spameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
Ich würde grep verwenden.

if(check_spam($nachricht,url))  {
print "das ist spam";
}
else{
print "die nachricht ist ok und kann eingetragen werden";
}

sub check_spam{
my ($text,$url) = @_;
my @spam_list = qw(
www.weblog.ro
site.neogen.ro
blog4ever.com
myblog.de
forums.cc
freeibforums.com
proboards102.com
1-2-free-forums.com
.ru\$
20mn.com
getphpbb.com
proboards
network54.com
areaseo.com
\[url\]
forumfree.net
hostedboard.com
eponym.com
cgispy.com
iuplog.com
cuteweblog.com
ebloggy.com
blogspot.com
hostmybb.com
netfirms.com
ifrance.com
esubahost.info
batcave.net
painreliefnetwork.net
friendpages.com
0pi.com
fanspace.com
eurosport.es
cba.pl
vfreespace.com
freemasterhost.com
ringtone
viagra
fwd2.de);
return 1 if(grep{$text =~ /$_/i or $url =~ /$_/i}@spam_list);
return 0;
}

Datum: 06.06.2006-12:09

Beitragre: Spameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
Hallo,

ich würde eine normale Schleife hier vorziehen, dann kann man beim ersten Match rausspringen, so muss immer die ganze Liste abgearbeitet werden.

Mfg
Marky

Datum: 06.06.2006-12:14

Beitragre: Spameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
Vielen Dank mal..

ich werde es versuchen..

Gruß

Datum: 11.06.2006-19:12

Beitragre: Spameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
eine Schleife durch alle Badwords oder eine Schleife durch alle alle Wörter des Gästebucheintrags?

Datum: 19.06.2006-12:20

Beitragre: Spameinträge Gästebuch --> Brauche eure Hilfe!
Seitenanfang
Hi kurz und knapp sag ich dazu nur:
http://captchas.net/

Datum: 19.06.2006-13:40

-






-
-