Gå til innhold

Gjesteboken full av spam...


Anbefalte innlegg

Usikker på om dette er rette plassen, men moderator får evnt. flytte innlegget...

 

Uansett, gjesteboken min spammes som bare det, første gang det skjedde slettet jeg bare innleggene, nå etterhvert har jeg prøvd å banne de IP'ene jeg får fatt i, men lite som hjelper. Dere kan se gjesteboka her, har med vilje ikke fjernet det nå fordi jeg lurer på om noen har vært borti dette før...

Spammingen har blitt hyppigere den siste tiden :(

 

Noen som veit hva jeg kan gjøre?

Lenke til kommentar
Videoannonse
Annonse
Usikker på om dette er rette plassen, men moderator får evnt. flytte innlegget...

 

Uansett, gjesteboken min spammes som bare det, første gang det skjedde slettet jeg bare innleggene, nå etterhvert har jeg prøvd å banne de IP'ene jeg får fatt i, men lite som hjelper. Dere kan se gjesteboka her, har med vilje ikke fjernet det nå fordi jeg lurer på om noen har vært borti dette før...

Spammingen har blitt hyppigere den siste tiden :(

 

Noen som veit hva jeg kan gjøre?

5835519[/snapback]

For eksempel, i server-scriptet, før meldinga lagres i databasen, legg inn en filterrutine som tar bort html tag'ene som spamerne bruker, eller enklere, gjør gjesteboka kun tekstbasert ved melding.innerText etc.

Lenke til kommentar
Usikker på om dette er rette plassen, men moderator får evnt. flytte innlegget...

 

Uansett, gjesteboken min spammes som bare det, første gang det skjedde slettet jeg bare innleggene, nå etterhvert har jeg prøvd å banne de IP'ene jeg får fatt i, men lite som hjelper. Dere kan se gjesteboka her, har med vilje ikke fjernet det nå fordi jeg lurer på om noen har vært borti dette før...

Spammingen har blitt hyppigere den siste tiden :(

 

Noen som veit hva jeg kan gjøre?

5835519[/snapback]

 

Du kan legge inn en capcha, som står for "Completely Automated Public Turing Test to Tell Computers and Humans Apart".

 

Siden serveren din støtter php har jeg funnet dette scriptet til deg:

<?php
 session_start();
 
// Initialisere variabel, så en unngår undefined variabler i noen system
 $verification_string="";
 // Setter lengden på capchafelt til 6
 $capchaLength = 6;
 for ($i = 0; $i < $capchaLength; $i++) {
       $verification_string .= createRandomChar();
 }
 
// Lagrer sekvens av char i sessionvariabel
 $HTTP_SESSION_VARS["verification_string"] = $verification_string;


function createRandomChar() {
// Genererer et tilfeldig nummer mellom 1 og 3
 $randomValue = mt_rand(1,3);
 switch ($randomValue) {
    case 1:
     // små bokstaver
        $randomValue = mt_rand(97, 122); 
        break;
    case 2:
     // tall
        $randomValue = mt_rand(48, 57);
        break;
    case 3:
     // Store bokstaver
        $randomValue = mt_rand(65, 90);
        break;
 }
 return chr($randomValue);
}
?>
<!-- eks på skjema-->
<table width="40%">
 <tr>
  <td>
  <img src="img.php?<?=SID ?>" />
     <form action="verification.php" method="POST">
       <p> Skriv inn tall og bokstaver slik du ser de over </p> 
         <input name="txtCode" type="text" size="30" />
       </p>
       <p>
         <input type="submit" name="Submit" value="Send melding" />
       </p>
     </form>
   </td>
 </tr>
</table>

 

 

Så neste fil, img.php

<?php
// Starter session og henter ut sessionvariabel
session_start();
$randomText = $HTTP_SESSION_VARS["verification_string"];

// Genererer et bilde med bredde 150 og høyde 40
$image = imagecreate(150,40);

// Genererer to farger, svart og hvit med rgb-verdi
$imgColorBlack = imagecolorallocate ($image, 0, 0, 0);
$imgColorWhite = imagecolorallocate ($image, 255, 255, 255);

// Gjør bakgrunnen svart
imagefill($image, 0, 0, $imgColorBlack);
// Plasserer chars på bilde
imagechar($image, 4, 20, 13, $randomText[0] ,$imgColorWhite);
imagechar($image, 5, 40, 13, $randomText[1] ,$imgColorWhite);
imagechar($image, 3, 60, 13, $randomText[2] ,$imgColorWhite);
imagechar($image, 4, 80, 13, $randomText[3] ,$imgColorWhite);
imagechar($image, 5, 100, 13, $randomText[4] ,$imgColorWhite);
imagechar($image, 3, 120, 13, $randomText[5] ,$imgColorWhite);

// returnerer bilde til browser
header("Content-type: image/jpeg");
imagejpeg($image);
?>

 

Siste fil, verification.php (form action skal stå til denne)

<?php
// start session
session_start();

// Henter ut tekst fra postfelt
$enteredText = $_POST["txtCode"];
$randomText = $_SESSION["verification_string"];

// Ser om input og sessionvariabelen har samme innhold
if (strcmp($enteredText, $randomText)==0) {
 echo "Well, thank you. You have entered the code correctly. :)";
   	// gjør mange festlige ting, feks post innlegg
} else {
 echo "You haven´t entered the correct code. Please try again!";
   	// avbryt skript, skriv ut en fymelding
}

// Now we are ready and can unset and destroy our session
session_unset();
session_destroy();
?>

 

HÅper dette kan hjelpe deg.

Du kan se scriptet på http://nibbler.no/files/capcha/

Lenke til kommentar

Holder på teste ut en annen måte få fikse det på. Forandre en hidden input tekst før den blir sendt. Dette gjøres via javascript , også blir den testet om den er forandret før innlegget blit registrert.

 

Joda, da må brukeren ha på javascript for å poste.

 

ikke kommet noen spam enda.. venter i spenning :)

Lenke til kommentar

Hva med et enkelt mattespørsmål?

 

index.php:

<?php
session_start();
$rand = mt_rand(1, 9);
$spørsmål = "{$rand} + {$rand}0";
$_SESSION['svar'] = eval($spørsmål);
?>
<form ...
Navn: <input ...
Melding: <textarea ...
Svar på dette enkle spørsmålet: <?php echo $spørsmål ?> = <input ..
</form>

 

Så lager du en fil som sjekker om $_SESSION['svar'] er lik det han skriver inn ;) Virker helt toppers!

Lenke til kommentar
nders,30/03-2006 : 11:57]
Hva med å moderere gjesteboken?

5838019[/snapback]

det er sikker boter som spammer da vettu. blir litt mye...

det er en veldig stor flom av boter som spammer ned gjestebøker/forumer nå :cry:

5838030[/snapback]

Vet (selvfølgelig :roll:) at det det er boter som spammer. Mener ikke at moderering er en løsning alene. Men med litt automatisk hjelp er det som oftest lett å merke om det er en bot eller ikke.

 

Hvis du kombinerer captcha, cookiesjekk, muligens javascriptsjekk samt at den ip-adressen som poster i gjesteboken også har vært innom hovedsiden så kan du for øyeblikket være sikker på at det blir rimelig lite spam å moderere.

 

Du kan jo sjekke for ordene poker, viagra og cialis i alle forskjellige varianter og, og hvis du er paranoid og ikke bryr deg om server-ressurser kan du jo analysere teksten direkte på samme måte som spamfiltre for epost virker.

 

Og re: mattespørsmål - captcha er bedre, det er altfor lett å lage et program som kan finne svaret.

Endret av px
Lenke til kommentar
...

Og re: mattespørsmål - captcha er bedre, det er altfor lett å lage et program som kan finne svaret.

5838455[/snapback]

Det er sikkert enkelt å lage et program som finner det ut.

Men jeg tror ikke de fleste spam programmer har en sånn funsjon.

 

Og vis det er det er det jo bare å lage et fast bilde med f.eks 2+4. Selv om en programmerer da bare kan lage et program som fyller inn 6 i feltet er det veldig få spam-programmerere som lager programmene sine spessielt for hver nettside eller går inn på dem i det hele tatt og skjekker nettsiden manuelt for å finne ut om man kan lage et script som poster i den gjesteboken med sikkerhetsfunsjonen.

Endret av JonT
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...