Bornslip Skrevet 29. mars 2006 Del Skrevet 29. mars 2006 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
backup Skrevet 29. mars 2006 Del Skrevet 29. mars 2006 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
CruellaDeVille Skrevet 29. mars 2006 Del Skrevet 29. mars 2006 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
Bornslip Skrevet 30. mars 2006 Forfatter Del Skrevet 30. mars 2006 Takk CruellaDeVille! Det var akkurat no sånt jeg lette etter Lenke til kommentar
trondes Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 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
px Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 Hva med å moderere gjesteboken? Lenke til kommentar
-A-nders Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 (endret) . Endret 25. januar 2018 av -A-nders Lenke til kommentar
Magnus Holm Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 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
px Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 (endret) 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å 5838030[/snapback] Vet (selvfølgelig ) 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 30. mars 2006 av px Lenke til kommentar
Vindstille Skrevet 30. mars 2006 Del Skrevet 30. mars 2006 (endret) ...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 30. mars 2006 av JonT Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå