Re: Müll-Einträge ins Forum verhindern? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Ralf Schneider (5 Beiträge) am Mittwoch, 7.März.2007, 10:11.
    Re: Müll-Einträge ins Forum verhindern?

      Würde ich gerne machen.
      Nur mir ist nicht klar, wo diese Befehlsequenz hin soll.
      Neue Einträge werden bei mir wie folgt erzeugt:

      <do action=input>
      <do action=list listtype=add db=/wintrack/main selectbrowse=no listfields=-Zaehler>
      


      Wie werden da die Spam-Einträge abgefangen ?

      Danke.

      mfg
      Schneider


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von admin2 (1 Beitrag) am Montag, 5.März.2007, 12:11. WWW: alles-sauber.com
    Müll-Einträge ins Forum verhindern?

      Hallo,

      kann mir jemand einen Tipp geben, wie man Müll-Einträge über das Formular eines Forums verhindern kann, ohne den freien Zugang zum Forum selber zu blockieren?

      Aktueller Fall: Das Formular des Forums wird mit zugemüllt, indem ein offenbar gestörter Mensch Punkte ins Forum stellt.

      Danke für jede hilfreiche Antwort.

      Viele Grüße
      admin2

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 5.März.2007, 17:37.
    Re: Müll-Einträge ins Forum verhindern?

      Hier beim baseportal-Forum arbeiten wir mit Filtern, was ganz gut klappt im Grossen und Ganzen. Das sieht so aus, dass am Anfang (bevor die Daten in die DB geschrieben werden) folgender Code steht:

      if(%_put)
      {
        my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
        return if $test=~ /boese|woerter|etc. blabla/i;
      }
      

      Du musst halt die Spam-Einträge ein bisschen verfolgen und entsprechend nachjustieren...

     Antworten

    Beitrag von Ralf Schneider (5 Beiträge) am Mittwoch, 7.März.2007, 10:11.
    Re: Müll-Einträge ins Forum verhindern?

      Würde ich gerne machen.
      Nur mir ist nicht klar, wo diese Befehlsequenz hin soll.
      Neue Einträge werden bei mir wie folgt erzeugt:

      <do action=input>
      <do action=list listtype=add db=/wintrack/main selectbrowse=no listfields=-Zaehler>
      


      Wie werden da die Spam-Einträge abgefangen ?

      Danke.

      mfg
      Schneider

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 7.März.2007, 14:34.
    Re: Müll-Einträge ins Forum verhindern?

      Vor das <do action=input>:

      <perl>
      if(%_put)
      {
        my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
        return if $test=~ /boese|woerter|etc. blabla/i;
      }
      </perl>
      

     Antworten

    Beitrag von Ralf Schneider (5 Beiträge) am Mittwoch, 7.März.2007, 16:56.
    Re: Müll-Einträge ins Forum verhindern?

      Das hört sich schon mal sehr gut an.
      Kannst Du mir auch noch erklären, was die einzelnen Teile bedeuten, so dass ich es auf meine Anwendung anpassen kann.

      Was bedeutet z.B.
        my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
      

     Antworten

    Beitrag von Ralf Schneider (5 Beiträge) am Donnerstag, 8.März.2007, 14:29.
    Re: Müll-Einträge ins Forum verhindern?

      ok, ich hab es jetzt nachgelesen und eigentlich kapiert.
      Mein Code sieht so aus:

      <perl>
      if(%_put)
      {
        my $test=$_put{Bild};
        return if $test=~ /test\.gif/i;
      }
      </perl>
      <do action=input>
      <do action=list listtype=add db=/wintrack/main selectbrowse=no listfields=-Zaehler>
      


      Es bedeutet: wenn im Feld "Bild" der String "test.gif" enthalten ist, soll der Datensatz nicht gespeichert werden.
      Wird aber doch gespeichert ! Was mache ich falsch ?

     Antworten

    Beitrag von SCbets (145 Beiträge) am Donnerstag, 8.März.2007, 15:42.
    Re: Müll-Einträge ins Forum verhindern?

      <perl>
      my $test=$_put{Bild};
       if(%_put)
      {  
      return if $test=~ /test\.gif/i;
      out" nix da";
      }
      else
      {
      put; ###<do action=input db=???>
      out" ok kein test bild"}
      </perl>
      

      <do action=list listtype=add db=/wintrack/main selectbrowse=no listfields=-Zaehler>


      so wie ich es verstehe sagst du in perl es soll nicht ausführen und gleich da nach gibst du ein put frei mit"<do action=input>"

      PS: ich habe den code nicht getestet, also keine garantien!

     Antworten

    Beitrag von Ralf Schneider (5 Beiträge) am Donnerstag, 8.März.2007, 18:14.
    Re: Müll-Einträge ins Forum verhindern?

      Wird durch mein "return" nicht alles folgende gar nicht erst ausgeführt ?

      Leider scheint Deine Lösung auch nicht zu funktionieren: Eine Feld bzw. Datenbank wird nicht gefunden.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 8.März.2007, 19:14. WWW: hummelexpress.de
    Re: Müll-Einträge ins Forum verhindern?

      wollte eigentlich nix mehr schreiben, aber müsste das nicht so lauten:

        return if $test~= /boese|woerter|etc. blabla/i;
      

      man beachte das "~=" statt "=~".
      ;-)

      Gruß

      Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Donnerstag, 8.März.2007, 20:15.
    Re: Müll-Einträge ins Forum verhindern?

      wollte eigentlich nix mehr schreiben, aber nein! =~ ist richtig

      Ein return ohne Kontext springt meines wissens nur aus dem aktuellen perl block.


      also entweder so

       <perl>
       if(%_put)
       {
        my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
        return if $test=~ /boese|woerter|etc. blabla/i;
       } 
       do_all;
       </perl>
      

      oder so

       <perl>
       if(%_put)
       {
        my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
        put unless $test=~ /boese|woerter|etc. blabla/i;
       } 
       </perl>
      

      oder so
       <perl>
       if(%_put)
       {
         my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
       undef %_put if $test=~ /boese|woerter|etc. blabla/i;
       } 
       </perl>
       <do action=all>
      

      oder
      ...

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 8.März.2007, 21:57. WWW: jobmarder.de
    Re: Müll-Einträge ins Forum verhindern?

      hatte mich nur an die Baseportalvorgaben gehalten:

      http://baseportal.de/bpws_doku.html#a23

      erstaunlich, was da alles unveröffentlich noch möglich ist!

      Abgesehen davon gehe ich eh' meinen eigenen Weg.

      Gruß

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 8.März.2007, 22:24.
    Re: Muell-Eintraege ins Forum verhindern?

      was? regex unveröffentlicht?

      s// und ne bp abfrage und andere Vergleichsoperatoren sind 3 verschiedene Schuhe...

      aber schreiben wir einfach nix mehr dazu....

      Pouraga:
      <perl>
       if(%_put) {
         my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
        undef %_put if $test=~ /boese|woerter|etc. blabla/i;
       }
      </perl>
      <do action=all>
      

      is das schönste, oder?

      sollte vielleicht noch das cmd gelöscht werden
      <perl>
       if(%_put) {
         my $test=$_put{Titel}.$_put{Text}.$_put{WWW};
         if ($test=~ /boese|woerter|etc. blabla/i){
            undef %_put;
            $_get{cmd}="";
         }
       }
      </perl>
      <do action=all>
      

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Freitag, 9.März.2007, 00:22.
    Re: Muell-Eintraege ins Forum verhindern?

      Ach wenn ich dich nicht hätte Sander... dann würde ich glatt leere Einträge in der Datenbank erzeugen. ;)

      Jetzt packen wir noch meine beliebte spamfilter sub mit rein und haben fast ne runde Sache.

       <perl>
         if (%_put and &spamfilter($_put{Titel}.$_put{Text}.$_put{WWW}>=3)){#3=Härte des Filters
            undef %_put;
            $_get{cmd}="";
            error "Eintrag konnte nicht aufgenommen werden da er zuviele Links enthält.";
            #oder hier jetzt ein captcha anbieten
         }
      
       sub spamfilter{  my $text = shift;  my $points = 0;  #Badwords  foreach (qw|http:// \[/url\] </a> und noch andere böse wörter|){  $points += $text =~ #$_#i;  }
       #raum für eigene Ideen  return $points;  }  </perl>  <do action=all>

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 9.März.2007, 08:31.
    Re: Muell-Eintraege ins Forum verhindern?

      mal ne doofe Frage ;-)
      ist error ein perl-, bp-interner oder eigener Befehl/Funktion und was macht der?
      Danke für Tipp

     Antworten

    Beitrag von Ralf Schneider (5 Beiträge) am Freitag, 9.März.2007, 09:47.
    Re: Muell-Eintraege ins Forum verhindern?

      DANKE !

      Das gefällt mir am besten:

      <perl>
      if(%_put)
      {
        my $test=$_put{Bild};
        if($test=~ /\.\.\.|test\.gif/i) {
            undef %_put;
            $_get{cmd}="";
            out "<b>Eintrag ungültig...</b><br><br>";
        }
      }
      </perl>
      

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Freitag, 9.März.2007, 14:51.
    Re: Muell-Eintraege ins Forum verhindern?

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 8.März.2007, 22:06. WWW: jobmarder.de
    Re: Müll-Einträge ins Forum verhindern?

     Antworten


     
 Liste der Einträge von 14250 bis 14400:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!