Internet Adressen Filter

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Internet Adressen Filter

Beitrag von scheibenbrot »

Servus,
ich möchte sowas wie den Wortfilter haben, nur dass ich z.B. http://www.phpbb.de in eine .txt eintrage (ist jetzt nur ein Beispiel :D ) und wenn jemand in einem Beitrag auf diese Seite verlinkt soll man auf die verweigert.php gelangen, in der halt steht, das die Seite geblockt wurde...
Die verweigert.php und so kann ich selbst machen, aber ich brauche den Script, dass die Adressen in der .txt geblockt und auf die verweigert.php weitergeleitet wird.
Danke

mfg
Love is the slowest form of suicide.
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

Jobbörse???
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Ich will ja nicht direkt alles komplett fertig haben :wink:

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
#
includes/functions.php

# 
#-----[ FIND ]------------------------------------------ 
#  
   global $db;

   //
   // Define censored word matches
   //
   $sql = "SELECT word, replacement
      FROM  " . WORDS_TABLE;
   if( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get censored words from database', '', __LINE__, __FILE__, $sql);
   }

   if ( $row = $db->sql_fetchrow($result) )
   {
      do
      {
         $orig_word[] = '#\b(' . str_replace('\*', '\w*?', phpbb_preg_quote($row['word'], '#')) . ')\b#i';
         $replacement_word[] = $row['replacement'];
      }
      while ( $row = $db->sql_fetchrow($result) );
   }


# 
#-----[ REPLACE WITH ]------------------------------------------ 
#  
   global $phpbb_root_path;

   //
   // Define censored word matches
   //
   $words = file($phpbb_root_path . 'wortfilter.txt');

   foreach ($words as $word)
   {
      $orig_word[] = '#\b(' . str_replace('\*', '\w*?', phpbb_preg_quote(trim($word), '#')) . ')\b#i';
      $replacement_word[] = '-----';
   }
Also mit diesem Code wird der wortfilter aus der wortfilter.txt geladen...vielleicht kann man das so ähnlich machen...
Love is the slowest form of suicide.
BruceCompanys
Mitglied
Beiträge: 25
Registriert: 29.12.2006 16:24

Beitrag von BruceCompanys »

Mach es doch so^^

Einfacher geht es (scheinbar nicht), ansonsten, musst du alle Daten aus deiner Datei laden und den Post damit absuchen... nicht schwez oda?

Code: Alles auswählen

<?php
$text = file("text.txt"); //Als Array laden Zeile für Zeile
 foreach($text as $k => $v) //Wir brauchen nur $v!!!
 {
  if(eregi($v."*", $post))
   header("Location: verweigere.php");
 }
?>
Das ist nur nen Denkansatz...

Ich denke mal den rest schaffste allein... hab noch was anderes zu tun, als das zu Schreiben :D

Nichts für ungut^^
macht ja spass
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Ist das jetzt dafür, dass wenn im beitrag eine url aus der text.txt ist statt auf die url auf die verweigert.php geleitet wird?
Love is the slowest form of suicide.
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Beitrag von Max »

und noch einfacher geht es nur hier mit:
URL Censor Mod
Version 1.0.1

Dieser MOD erweitert die Wortfilterfunktion von phpBB:
Im ACP werden die eingestellten Wörter nun auch aus URLs von Beiträgen sowie aus Profil eines Users, PMs und aus der Mitgliederliste herausgefiltert. So können Links gesperrt werden, diese können dann mit einem anderen Link oder mit einem Text ersetzt werden.
Download



Gruß Max
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Diesen mod kenne ich, aber ich möchte statt den Link zu zensieren auf eine datei verlinken :oops:

lesen :oops:
Love is the slowest form of suicide.
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

So nach 576 Stunden pushe ich mal...ich denke die 24h sind abgelaufen :D
Love is the slowest form of suicide.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

BruceCompanys hat geschrieben:

Code: Alles auswählen

<?php
$text = file("text.txt"); //Als Array laden Zeile für Zeile
 foreach($text as $k => $v) //Wir brauchen nur $v!!!
 {
  if(eregi($v."*", $post))
   header("Location: verweigere.php");
 }
?>
Die Funktion eregi sollte vermieden werden. Die ereg* Funktionen zählen zu der langsamsten Implementierung Regulärerausdrücke. Du solltest dich mit den preg_* Funktionen beschäftigen.
Antworten

Zurück zu „Coding & Technik“