Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Codeschnipsel gegen Forumspammer

Fragen, Wünsche, Entwicklung: Wie kann man dieses Forum verbessern? Gibt es was zu meckern? Fehlt eine Kategorie?
Neues Thema Antworten
marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 21.02.2007, 17:46

Weil hier heute mal wieder einige Spammer im Forum unterwegs sind, die Ihre Webseite an den Mann/Frau bringen wollen und jedes Unterforum zuspammen. Habe ich hier mal ein Codeschniepsel, womit verhindert wird das ein neuer User Urls posten kann. Ein User muss mindestens X (hier 10) Beiträge geschrieben haben bevor er eine Url posten kann.


Passend für phpbb Version weiß ich nicht. Kann man sicherlich anpassen.

Folgende Datei öffnen includes/functions_post.php
ab ca. Zeile 168 folgenden Code suchen

Code: Alles auswählen

 if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
   { 
      // 
      // Flood control 
      // 
      $where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id']; 
      $sql = "SELECT MAX(post_time) AS last_post_time 
         FROM " . POSTS_TABLE . " 
         WHERE $where_sql"; 
      if ($result = $db->sql_query($sql)) 
      { 
         if ($row = $db->sql_fetchrow($result)) 
         { 
            if &#40;intval&#40;$row&#91;'last_post_time'&#93;&#41; > 0 && &#40;$current_time - intval&#40;$row&#91;'last_post_time'&#93;&#41;&#41; < intval&#40;$board_config&#91;'flood_interval'&#93;&#41;&#41; 
            &#123; 
               message_die&#40;GENERAL_MESSAGE, $lang&#91;'Flood_Error'&#93;&#41;; 
            &#125; 
         &#125; 
      &#125;       
          
   &#125; 
den alten Code durch diesen hier ersetzen:

Code: Alles auswählen

  if &#40;$mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost'&#41; 
   &#123; 
      // 
      // Flood control 
      // 
      $where_sql = &#40;$userdata&#91;'user_id'&#93; == ANONYMOUS&#41; ? "poster_ip = '$user_ip'" &#58; 'poster_id = ' . $userdata&#91;'user_id'&#93;; 
      $sql = "SELECT MAX&#40;post_time&#41; AS last_post_time 
         FROM " . POSTS_TABLE . " 
         WHERE $where_sql"; 
      if &#40;$result = $db->sql_query&#40;$sql&#41;&#41; 
      &#123; 
         if &#40;$row = $db->sql_fetchrow&#40;$result&#41;&#41; 
         &#123; 
            if &#40;intval&#40;$row&#91;'last_post_time'&#93;&#41; > 0 && &#40;$current_time - intval&#40;$row&#91;'last_post_time'&#93;&#41;&#41; < intval&#40;$board_config&#91;'flood_interval'&#93;&#41;&#41; 
            &#123; 
               message_die&#40;GENERAL_MESSAGE, $lang&#91;'Flood_Error'&#93;&#41;; 
            &#125; 
         &#125; 
      &#125; 
       
      // 
      // check Url spam 
      // 
      //Die 10 steht für die Anzahl Postings die ein User braucht bevor er eine URL posten kann.
      if&#40;$userdata&#91;'user_posts'&#93; < 10&#41; 
      &#123; 
         $lang&#91;'Alert_Spam'&#93; = 'Error&#58; Do Not Spam here!'; 
         if&#40;strstr&#40;$post_message, 'http'&#41; || strstr&#40;$post_message, 'www.'&#41;&#41; 
         &#123; 
            message_die&#40;GENERAL_MESSAGE, $lang&#91;'Alert_Spam'&#93;&#41;; 
         &#125; 
      &#125; 
          
   &#125; 
Datei speichern und hochladen, fertig.

Nachteil ist, wenn ein neuer User eine Frage zu seiner Domain hat und diese mit angibt, wird nix aus dem Posting. Sollte man den User vielleicht dann vor dem Schreiben darauf hinweisen. :D

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 21.02.2007, 19:20

die urls bringen hier eh nichts aber ads interessiert die spammer ja nicht. sie spammen ja trotzdem.

propaganda
PostRank 9
PostRank 9
Beiträge: 1267
Registriert: 20.08.2004, 14:21
Wohnort: Deutschland

Beitrag von propaganda » 21.02.2007, 19:30

Man kann nur froh sein, daß Abakus (noch) nicht in der Datenbank
des phpbb-Linkspam-Autosubmitters *x*r$umer* steht.