Members: 16,996
Threads: 38,845
Posts: 159,389
Online: 12

Newest Member: Kl_broka@rediffmail.com


Odoo.tv - Outdoor Television


Sedo - Domains kaufen und verkaufen das Projekt mambers.com steht zum Verkauf Besucherstatistiken von mambers.com etracker® Web-Controlling statt Logfile-Analyse

Go Back   Mambers.com > International > German - Deutsch > Komponenten

Reply
 
LinkBack Thread Tools Display Modes
Old 23.09.2005, 20:12   #1 (permalink)
Junior Mamber
 
Join Date: Sep 2004
Posts: 28
Parsival is on a distinguished road
Talking Akobook automatisch vor unerwünschten postings schützen - spam

Ich öffne mal hier einen neuen thread zum Thema Spam im Akobook durch Einzelne unliebsame Zeitgenossen (nicht automatischer Spam).
Akobook 3.42 auf Mambo 4.5.2
Mein bisheriges Problem: Einzelner User terrorisiert das Gästebuch.
(spamfix verhindert ja nur automatische Eintragungen und außerdem gab es bei mir browserabhängig den Fehler, dass der eingegebene Code angeblich falsch war, obwohl er dem Angezeigten entsprach)
Mein bestehendes Problem: mangelnde PHP-Kenntnisse

Was ich nicht haben wollte:
- postings manuell freischalten müssen;
- eine Zugangssperre im Hinblick auf die benutzte ip, da zu auffällig und folglich leicht umgehbar;

Was ich haben wollte:
- einen automatischen Scan auf bestimmte Worte;
- einen automatischen Scan auf bestimmte IP;
- automatische (Ver-/)Nichtveröffentlichung, wenn Wort bzw. IP (nicht) vorkommt;

Meine Lösung ist aufgrund meiner mangelnden php-Kenntnisse keineswegs sauber oder besonders origenell, aber sie erfüllt meine Wünsche:

(1) ich habe zunächst diese Komponente installiert:
Badwords2 Text Filtering/Flushing Component - Version 1.0 BETA
( http://www.schoolastech.com/ )
(auch wenn ich Zensurprogramme bedenklich finde - es kommt aber auf die Nutzung an)

(2) Dann habe ich den dazugehörigen Hack für das akobook 3.42 nach der im zip-file enthaltenen Anleitung integriert
( http://www.schoolastech.com/ )
ACHTUNG: Die neue akobook.php ist ohne die SPAMFIX-Ergänzungen.

(Jetzt würden unerwünschte Worte in einem Akobook-Eintrag einfach nur durch Sternchen ersetzt, im übrigen aber veröffentlicht, soweit autopublish eingeschaltet ist)

(3) Und anschließend habe ich in der Datei akobook.php im Ordner /component/com_akobook folgendes geändert:

Zeilen 169-188 vorher:
PHP Code:
 if ($ab_autopublish) {
 
$query2 .= ",published='1'";
          }
          
$database->setQuery$query2 );
          
$database->query();

          
//Filter Bad words
          
if ( $ab_badwords2 && ( ( $ab_notify AND is_email($ab_notify_email) ) || ( $ab_thankuser AND is_email($gbmail) ) ) ) {
             require_once( 
'components/com_badwords2/class.badwords2.php' );
             
$badword_flag Badword::filter "$gbname $gbtext"$my );
             if (
$badword_flag) {
                
$gbname_flush Badword::flush($gbname$my);
                
$gbtext_flush Badword::flush($gbtext$my);
             }
          }

if (
$ab_notify AND is_email($ab_notify_email) ) {
            
$gbmailtext _GUESTBOOK_ADMINMAIL;
            if ( 
$badword_flag ) { $gbmailtext .=  _BW2_MODERATED_ENTRY_MAIL _BW2_ADMIN_ORIG_ENTRY_NOTIF_MAIL; }
            
$gbmailtext .= "\r\n\r\nIP: ".$gbip."\r\n\r\nName: ".$gbname."\r\nText: ".$gbtext
Zeilen 169-191 nachher:
PHP Code:
if ($ab_autopublish) {
            
$query2 .= ",published='1'";
          }
       
//   $database->setQuery( $query2 );
       //   $database->query();

          //Filter Bad words
          
if ( $ab_badwords2 && ( ( $ab_notify AND is_email($ab_notify_email) ) || ( $ab_thankuser AND is_email($gbmail) ) ) ) {
             require_once( 
'components/com_badwords2/class.badwords2.php' );
             
$badword_flag Badword::filter "$gbname $gbtext $gbip"$my );
             if (
$badword_flag) {
            
//    $gbname_flush = Badword::flush($gbname, $my);
            //    $gbtext_flush = Badword::flush($gbtext, $my);
            
$query2 .= ",published='0'";
             }
          }
          
$database->setQuery$query2 );
          
$database->query();

if (
$ab_notify AND is_email($ab_notify_email) ) {
            
$gbmailtext _GUESTBOOK_ADMINMAIL;
            if ( 
$badword_flag ) { $gbmailtext .=  _BW2_MODERATED_ENTRY_MAIL _BW2_ADMIN_ORIG_ENTRY_NOTIF_MAIL; }
            
$gbmailtext .= "\r\n\r\nIP: ".$gbip."\r\n\r\nName: ".$gbname."\r\nText: ".$gbtext
In dieser Zeile
$badword_flag = Badword::filter ( "$gbname $gbtext $gbip", $my );
ist eingestellt, dass auch die IP des Gästebuch-Eintrages dem badwords-Check unterzogen wird.

Außerdem wird in der email-Benachrichtigung an mich auch die IP des Eintragenden ausgegeben.

(4) Dann noch die badwords - Komponente gefüttert:
Bei den IP-Adressen reicht die Angabe von z.B. 255.255.11 um den gesamten Bereich von 255.255.110.*** bis 255.255.119.*** zu verbannen.
Bei den Worten eben alles, was kennzeichnend für den Störenfried ist, aber in anderen Beiträgen nicht vorkommen wird.

Im letzten Punkt liegt auch ein Problem: Die Worte sollten überlegt gewählt werden, damit es keine Unschuldigen trifft.

ACHTUNG: In der bisherigen Form werden die Einträge gar nicht in der Datenbank gespeichert!!! Ein nachträgliches Freischalten ist also nicht möglich. Der einzige Hinweis auf einen ausgefilterten Eintrag ist die email an den Gästebuch-Administrator.
Hier bedarf es wohl noch ein paar Anpassungen... wer hilft?
Parsival is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Old 24.09.2005, 01:03   #2 (permalink)
Junior Mamber
 
elta68's Avatar
 
Join Date: Sep 2004
Posts: 40
elta68 is on a distinguished road
Send a message via ICQ to elta68
Default Re: Akobook automatisch vor unerwünschten postings schützen - spam

Sali zäme,

Ich habe ein bessere loesung...Ich habe 2 bekannte technologie fur Mambo implementiert

captcha http://www.captcha.net/ oder http://en.wikipedia.org/wiki/Captcha
und
hashcash www.hashcash.org oder http://en.wikipedia.org/wiki/Hashcash

download www.waltercedric.com bald version 1.1 ...ich wurde personlich bis anfang naechste woche warten....

gruss aus frankreich
cedric
__________________
Written with recycled electrons, because I care....
www.waltercedric.com
elta68 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 24.09.2005, 09:24   #3 (permalink)
Junior Mamber
 
Join Date: Sep 2004
Posts: 28
Parsival is on a distinguished road
Thumbs up Besser ist gut!

Ein besseres System ist mir jederzeit willkommen. (Irgendwie war das ja auch der Zweck dieses Beitrags - taugliche Antispam-Anwendungen zu finden.)

Mir ging es vor allem darum den Betreuungsaufwand zu minimieren und die mir bisher einzig bekannte Lösung für Einzelspammer war die Einzelfreischaltung.

Ich hatte bis jetzt leider nichts in dieser Art gefunden, jetzt freue ich mich auf diese Entwicklung und werde sie bei Erscheinen gerne ausgiebig testen.
Parsival is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 24.09.2005, 09:45   #4 (permalink)
Junior Mamber
 
elta68's Avatar
 
Join Date: Sep 2004
Posts: 40
elta68 is on a distinguished road
Send a message via ICQ to elta68
Default Re: Akobook automatisch vor unerwünschten postings schützen - spam

ich bin zur zeit in der stabilisierung phase: weil ich sooo viel code angepasst habe...

Du kannst dir aber als tester melden, und du wird ein test version bekommen, am liebsten muss du das auf ein TEST instance von mambo installieren...

alles existiert als component -> das heisst risiko ist gering, wenn es nicht geht einfach ein altes version von den component installieren.

Ich habe modifizierte version von akobbok akocomment, contact, login page -> schau mal auf mein homepage fur ein live demo

mein homepage lauft jetzt mit einer mischung von antispam bundle 1.0 und 1.1 aber funkt haben sich nicht geandert -> bessere admin panel, refactoring, und so weiter...
__________________
Written with recycled electrons, because I care....
www.waltercedric.com
elta68 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 27.09.2005, 19:09   #5 (permalink)
Expert Mamber
 
walb's Avatar
 
Join Date: Oct 2004
Location: Hack City, Earth.
Posts: 453
walb will become famous soon enough
Default Re: Akobook automatisch vor unerwünschten postings schützen - spam

Quote:
Originally Posted by Parsival
PHP Code:
if ($ab_autopublish) {
            
$query2 .= ",published='1'";
          }
       
//   $database->setQuery( $query2 );
       //   $database->query();

          //Filter Bad words
 
if ( $ab_badwords2 && ( ( $ab_notify AND is_email($ab_notify_email) ) || ( $ab_thankuser AND is_email($gbmail) ) ) ) {
             require_once( 
'components/com_badwords2/class.badwords2.php' );
             
$badword_flag Badword::filter "$gbname $gbtext $gbip"$my );
             if (
$badword_flag) {
            
//    $gbname_flush = Badword::flush($gbname, $my);
            //    $gbtext_flush = Badword::flush($gbtext, $my);
            
$query2 .= ",published='0'";
             }
          }
          
$database->setQuery$query2 );
          
$database->query();

if (
$ab_notify AND is_email($ab_notify_email) ) {
            
$gbmailtext _GUESTBOOK_ADMINMAIL;
            if ( 
$badword_flag ) { $gbmailtext .=  _BW2_MODERATED_ENTRY_MAIL _BW2_ADMIN_ORIG_ENTRY_NOTIF_MAIL; }
            
$gbmailtext .= "\r\n\r\nIP: ".$gbip."\r\n\r\nName: ".$gbname."\r\nText: ".$gbtext
ACHTUNG: In der bisherigen Form werden die Einträge gar nicht in der Datenbank gespeichert!!! Ein nachträgliches Freischalten ist also nicht möglich. Der einzige Hinweis auf einen ausgefilterten Eintrag ist die email an den Gästebuch-Administrator.
Hier bedarf es wohl noch ein paar Anpassungen... wer hilft?
Ich möchte einige kleine Änderungen vorschlagen, damit die Data gespeichert wird. Jetzt wird die Query falsch laufen.
Quote:
$bw_publish = ",published='0'";
if ($ab_autopublish) {
$bw_publish = ",published='1'";
}
// $database->setQuery( $query2 );
// $database->query();

//Filter Bad words
if ( $ab_badwords2 && ( ( $ab_notify AND is_email($ab_notify_email) ) || ( $ab_thankuser AND is_email($gbmail) ) ) ) {
require_once( 'components/com_badwords2/class.badwords2.php' );
$badword_flag = Badword::filter ( "$gbname $gbtext $gbip", $my );
if ($badword_flag) {
$gbname_flush = Badword::flush($gbname, $my);
$gbtext_flush = Badword::flush($gbtext, $my);
$bw_publish = ",published='0'";
}
}
$query2 .= $bw_publish;
$database->setQuery( $query2 );
$database->query();

if ($ab_notify AND is_email($ab_notify_email) ) {
$gbmailtext = _GUESTBOOK_ADMINMAIL;
if ( $badword_flag ) { $gbmailtext .= _BW2_MODERATED_ENTRY_MAIL . _BW2_ADMIN_ORIG_ENTRY_NOTIF_MAIL; }
$gbmailtext .= "\r\n\r\nIP: ".$gbip."\r\n\r\nName: ".$gbname."\r\nText: ".$gbtext;
Die Anderungen sind rot markiert. Nicht getested.

With compliments of this idea from the Badwords2 Dev Team (Wim Albers aka walb)
__________________
A bugfree program is a deleted one! (Confucius.)
walb is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 28.09.2005, 20:35   #6 (permalink)
Junior Mamber
 
Join Date: Sep 2004
Posts: 28
Parsival is on a distinguished road
Default Sehr gut! die Änderung von walb funktioniert bestens

@walb Danke !
So funktioniert es bestens; fälschlicherweise Aussortiertes, kann so nachträglich doch noch veröffentlicht werden.
Hätte ich halt nie hingekriegt, hab viel zu wenig Ahnung....

Und hat es ansonsten schon jemand ausprobiert?
Parsival is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +2. The time now is 06:57.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
A vBSkinworks Design
© Copyright 2004-2008 by Arthur Konze Webdesign.