Avatar billede woogoo Nybegynder
18. oktober 2006 - 08:20 Der er 2 kommentarer

Afvis alt der indeholder bestemte ord

Hej Eksperter

Jeg har en php Tagwall som jeg har en masse problemer med! Det handler om SPAM.. Jeg har prøvet alt, og det er kun de mest akavede løsninger der virker (som f.eks. at man først skal regne et regnestykke rigtigt ud før man kan poste.. Det går bare ikke).. Så nu vil jeg simpelthen lave et filter! Hvordan kan jeg i en tagwall gøre så alt der indeholder ord som "Viagra", "[URL=" osv. enten bliver blokeret eller ikke vist! Alle indlægene bliver hentet fra en SQL database! Problemet er at den robot der spammer den spammer blindt.. men håber der er en der kan give mig en hjælpende hånd.. for jeg har virkelig brug for den her tagwall!


Kode:

<?
  include "config.php";
?>

<html>
  <head>
    <style>
      body {
      scrollbar-base-color: #000000;
      scrollbar-arrow-color: #000000;
      scrollbar-3dlight-color: #000000;
      scrollbar-darkshadow-color: #ffffff;
      scrollbar-face-color: #ffffff;
      scrollbar-highlight-color: #E8E8E8;
      scrollbar-shadow-color: #000000;
      scrollbar-track-color: #DBDBDB;
      }
    </style>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <style type="text/css">
        <!--
body {
    background-image: url(../../images/index_22.gif);
    background-repeat: no-repeat;
    background-attachment: fixed;
    margin-left: 5px;
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
}
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}
.style2 {font-size: 10px}
-->
      </style>
    </head>
  <body link="#000000" alink="#000000" vlink="#000000">
    <center>
      <form action="" method="post">
        <input type="hidden" name="action" value="update">
          <FONT color="#FF0000" face="tahoma" size="2">
            <?
              if ($ignored)
              {
                echo ( "<b>!!Beskeden er allerede oprettet!!</b><br />" );
              }
            ?></font><FONT face="tahoma" size="2">
            <b>Skriv i tagwall'en:</b>
            <br>
          </FONT>
          <script type="text/javascript">
            function indsaet(smiley){
            document.getElementById("msg").value = document.getElementById("msg").value + smiley;
            document.getElementById("msg").focus();}
          </script>
    <input TYPE="hidden" VALUE="" NAME="spam">
          <input type="text" name="fra" onfocus="if(this.value=='Navn')this.value='';" onblur="if(this.value=='')this.value='Navn';" value="Navn" size="23" maxlength="100" style="background-color: #EFEFEF; color: #000000; frameborder: 1; border-color: #000000; font-family: Verdana; font-size: 8 pt; width: 300" />
          <br>
            <input type="text" name="emne" onfocus="if(this.value=='E-mail adresse')this.value='';" onblur="if(this.value=='')this.value='E-mail adresse';" value="E-mail adresse" size="23" maxlength="60" style="background-color: #EFEFEF; color: #000000; frameborder: 1; border-color: #000000; font-family: Verdana; font-size: 8 pt; width: 300" />
            <br>
              <textarea style="background-color: #EFEFEF; color: #000000; frameborder: 1; border-color: #000000; font-family: Verdana; font-size: 8 pt; width: 300;height: 100px" id="msg" name="besked" cols="45" rows="4"></textarea>
              <br>
                <input align="right" name="update" type="submit" OnClick="this.form.spam.value=1;this.disabled=true;this.form.submit();" action="tagwall.php" value="Skriv" style="background-color: #EFEFEF; color: #000000; frameborder: 1; border-color: #C4C4C4; font-family: Verdana; font-size: 8 pt" />
                <input align="left" name="reset" type="reset" value="Reset" style="background-color: #EFEFEF; color: #000000; frameborder: 1; border-color: #C4C4C4; font-family: Verdana; font-size: 8 pt" />
                <br>
                </center>
    <br>
      <FONT face="tahoma" size="2">
        Beskeder:</font><br>
          <?    $res_tagwall = mysql_query("SELECT * FROM tagwall order by id DESC");            while ($row_tagwall = mysql_fetch_array($res_tagwall)){?>
          <font face="tahoma" size="2">
            <hr align="center" width="100%" style="height: 1;margin:0px 0px 5px 5px;background-color: blue;color: #C6C6C6">
              <font size="1" color="#000000">
           
                <a href="mailto:<?=$row_tagwall[emne]?>" target=_blank>
                <?=$row_tagwall[fra]?>
                </a>
           
           
              </font>
              <font size="1" color="#FF0000">
                <?=$row_tagwall[date]?>
              </font>
              <br />
              </b>
              <font size="1" color="#000000">
                <?=$row_tagwall[besked]?>
              </font>
              <?}?>
            </body>
</html>
Avatar billede jaw Nybegynder
18. oktober 2006 - 10:04 #1
Hvis du ser på PHP-forsiden, så er den seneste nye artikel en artikel om spambeskyttelse af formularer af coderdk. Jeg har ikke selv læst den, men måske den er noget? :)

http://www.eksperten.dk/artikler/1019
Avatar billede woogoo Nybegynder
18. oktober 2006 - 14:13 #2
Som jeg forstår det så er den første en af de kendte hvor man skal skrive hvad der står i et felt for at få lov at poste.. og den anden virker som noget der blokere kendte spammere.. og ved ikke om dette stopper en spamrobot?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester