Kill / Delete Comment- & Trackback-Spam mit Drupal
Eingetragen von robman. | Sa, 01/10/2005 - 11:58
IT suxx
Wie viele andere Drupal-Sites wurde auch Koepf.de von Comment- und später dann auch Trackback-Spam. Drupal 4.6 und das Spam.module sollten das Problem erstmal lösen. Als nicht SQL-Sprechender (wie ich) hat man aber immer noch das Problem, das Drupal für das Löschen von vielen Kommentaren auf einmal keine Oberfläche besitzt und dreimal-kilcken für das löschen eines Comments eine sehr mühsame Arbeit sein kann. Ein kleines PHP-Script von Aldon Hynes gefunden bei Nick Lewis, schafft hier schnell und unkompliziert (quick'n dirty hack) Abhilfe: Das Script in den Textkörper eines neuen Artikels/Node einfügen und als Eingabeformat/Filer "PHP-Code" auswählen. Den Artikel anschliessend ganz normal betrachten. Dabei werden alle Spams gelöscht, was je nach Spamanzahl einige Zeit dauern kann. Natürlich kann es bei dieser brute force Methode auch zur Löschung von Kommentaren kommen, die die gesuchten Spam-Suchbegriffe enthalten - schwund ist eben immer. Das ganze sieht inkl. einer kleinen Anpassung meinerseits dann so aus:
<?php $sql = " where "; $sql .= " subject like '%cialis%' or ";$sql .= " comment like '%cialis%' or "; $sql .= " subject like '%fioricet%' or ";$sql .= " comment like '%fioricet%' or "; $sql .= " subject like '%Casinos%' or ";$sql .= " comment like '%Casinos%' or "; $sql .= " subject like '%Casino%' or ";$sql .= " comment like '%Casino%' or "; $sql .= " subject like '%jrcreations%' or ";$sql .= " comment like '%jrcreations%' or "; $sql .= " comment like '%tramadol%' or ";$sql .= " subject like '%tramadol%' or "; $sql .= " comment like '%propecia%' or ";$sql .= " subject like '%propecia%' or "; $sql .= " comment like '%allegra%' or ";$sql .= " subject like '%allegra%' or "; $sql .= " comment like '%levitra%' or ";$sql .= " subject like '%levitra%' or "; $sql .= " comment like '%adipex%' or ";$sql .= " subject like '%adipex%' or "; $sql .= " comment like '%phentermine%' or ";$sql .= " subject like '%phentermine%' or "; $sql .= " comment like '%soma%' or ";$sql .= " subject like '%soma%' or "; $sql .= " comment like '%poker%' or ";$sql .= " subject like '%poker%' or "; $sql .= " comment like '%online casino%' or ";$sql .= " subject like '%online casino%' or "; $sql .= " comment like '%5e4b5a4%' or ";$sql .= " subject like '%5e4b5a4%' or "; $sql .= " comment like '%dir.web-marketings.com%' or ";$sql .= " subject like '%dir.web-marketings.com%' or"; $sql .= " subject like '%8532a.com%' or ";$sql .= " comment like '%8532a.com%' or "; $sql .= " subject like '%827.com%' or ";$sql .= " comment like '%827.com%' or "; $sql .= " subject like '%shaffelrecords.com%' or ";$sql .= " comment like '%shaffelrecords.com%' or "; $sql .= " subject like '%dawsonanddadrealty.com%' or ";$sql .= " comment like '%dawsonanddadrealty.com%' or "; $sql .= " subject like '%kenwoodexcelon.com%' or ";$sql .= " comment like '%kenwoodexcelon.com%' or "; $sql .= " subject like '%xxuz.com%' or ";$sql .= " comment like '%xxuz.com%' or "; $sql .= " comment like '%Yellow Monkey%' or ";$sql .= " subject like '%Yellow Monkey%' or "; $sql .= " comment like '%rape porn%' or ";$sql .= " subject like '%rape porn%' or "; $sql .= " comment like '%holdem%' or ";$sql .= " subject like '%holdem%' or "; $sql .= " comment like '%hold''em%' or ";$sql .= " subject like '%hold''em%'"; $ssql = "SELECT * from {comments} " . $sql ; $result = db_query($ssql); while($comment = db_fetch_object($result)) { print $comment->cid."<br>"; _comment_delete_thread($comment);} $sql = str_replace('comment like','excerpt like', $sql); $dsql = "DELETE FROM {trackback_received} " . $sql ; $result = db_query($dsql); ?>






Neueste Kommentare
13 Wochen 4 Tage alt
31 Wochen 21 Stunden alt
32 Wochen 5 Tage alt
34 Wochen 5 Tage alt
36 Wochen 3 Tage alt
36 Wochen 3 Tage alt
36 Wochen 3 Tage alt
38 Wochen 2 Tage alt
39 Wochen 5 Tage alt
42 Wochen 2 Tage alt